package cn.bigfire.wzdj.action;

import cn.bigfire.wzdj.frame.WZDJMainFrame;
import cn.bigfire.wzdj.net.WZDJPackWSDecoder;
import cn.bigfire.wzdj.net.WZDJPackWSEncoder;
import cn.bigfire.wzdj.net.WZDJWSClientHandler;
import cn.bigfire.wzdj.pojo.bo.WZDJPack;
import cn.bigfire.wzdj.pojo.srcVo.Wzdj.*;
import cn.bigfire.wzdj.pojo.vo.Goods;
import cn.bigfire.wzdj.pojo.vo.GoodsVO;
import cn.bigfire.wzdj.pojo.vo.IdNum;
import cn.bigfire.wzdj.service.WZDJService;
import cn.bigfire.wzdj.util.*;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.Channel;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelPipeline;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioSocketChannel;
import io.netty.handler.codec.http.*;
import io.netty.handler.codec.http.websocketx.WebSocketClientHandshakerFactory;
import io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandler;
import io.netty.handler.codec.http.websocketx.WebSocketVersion;
import io.netty.handler.codec.http.websocketx.extensions.compression.WebSocketClientCompressionHandler;
import io.netty.handler.ssl.SslContext;
import io.netty.handler.ssl.SslContextBuilder;
import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
import io.netty.handler.stream.ChunkedWriteHandler;
import io.netty.util.concurrent.DefaultEventExecutorGroup;
import io.netty.util.concurrent.EventExecutorGroup;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.LocalVariableTableParameterNameDiscoverer;
import org.springframework.core.ParameterNameDiscoverer;

import java.lang.reflect.Method;
import java.net.URI;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
@Slf4j
public class WZDJCaller {

    HashMap<Integer, Method> methodMap = new HashMap<>();

    public static HashMap<Integer, WZDJPack> resCacheMap = new HashMap<>();
    public static HashMap<Integer, WZDJPack> getResCacheMap() {
        return resCacheMap;
    }

    /**
     * 构造函数，
     */
    public WZDJCaller() {
        registerMethod();
    }

    //注册本类中的所有处理方法
    public void registerMethod() {
        //注册
        for (Method declaredMethod : getClass().getDeclaredMethods()) {
            String name = declaredMethod.getName();
            String prefix = "cmd";
            String cut = "_";

            if (name.startsWith(prefix) && name.contains(cut)) {
                String cmdStr = StrUtil.subBetween(name, prefix, cut);
                try {
                    int cmd = Integer.parseInt(cmdStr);
                    methodMap.put(cmd, declaredMethod);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
    //业务线程池
    private static final EventExecutorGroup bizTP = new DefaultEventExecutorGroup(10, r -> {
        Thread thread = new Thread(r);
        thread.setName(String.format("[biz-%s]", thread.getId()));
        return thread;
    });
    public static ConcurrentHashMap<String, CopyOnWriteArrayList<Long>> methodTimeMap = new ConcurrentHashMap<>();
    //服务器消息回调处理
    public void call(Channel channel, WZDJPack wzdjPack) {
        try {
            if (wzdjPack != null && wzdjPack.getHeader() != null) {
                int id = wzdjPack.getHeader().getId();
                Method method = methodMap.get(id);
                if (method != null) {
                    resCacheMap.put(id, wzdjPack);
                    if (wzdjPack.getBody() instanceof TreeMap) {
                        log.error(wzdjPack.toString());
                        return;
                    }
//                    log.info(wzdjPack.toString());
                    bizTP.submit(() -> {
                        try {
                            long start = System.currentTimeMillis();
                            methodInvoke(method, channel, wzdjPack);
                            //记录协议耗时
//                            long end = System.currentTimeMillis();
//                            CopyOnWriteArrayList<Long> timeList = methodTimeMap.getOrDefault(method.getName(), new CopyOnWriteArrayList<Long>());
//                            long useTime = end - start;
//                            timeList.add(useTime);
//                            methodTimeMap.put(method.getName(), timeList);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }catch (Throwable throwable){
                            throwable.printStackTrace();
                        }
                    });
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void methodInvoke(Method method, Channel channel, WZDJPack wzdjPack) {
        int id = wzdjPack.getHeader().getId();
        String pre = "cmd" + id + "_";
        String name = StrUtil.subAfter(method.getName(), pre, false);
        Class<?>[] paramTypes = method.getParameterTypes();
        ParameterNameDiscoverer discoverer = new LocalVariableTableParameterNameDiscoverer();
        String[] parameterNames = discoverer.getParameterNames(method);
        Object[] params = new Object[paramTypes.length];//参数具体值
        for (int i = 0; i < paramTypes.length; i++) {
            Class<?> paramType = paramTypes[i];
            if (Channel.class.equals(paramType)) {//1.注入Channel类型参数
                params[i] = channel;
            } else if (WZDJPack.class.equals(paramType)) {//2.WZDJPack
                params[i] = wzdjPack;
            } else if (parameterNames!=null && StrUtil.lowerFirst(name).equals(parameterNames[i])) {//3.注入返回值类型的参数
                params[i] = wzdjPack.getBody();
            } else {
                log.error("参数类型不匹配:" + paramType.getName());
            }
        }
        //----------------------------------------------------------------------------------------------
        try {
            Object returnObj = method.invoke(this, params);//执行Action逻辑
        } catch (Exception exception) {
            exception.printStackTrace();
        } catch (Throwable e) {
            e.printStackTrace();//说不定是内部逻辑有问题。
        }
    }


    //消息处理----------------------------------------------------------------------------------------------------------------
    public static void cmd655370_RpcServerUserIsNew(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserIsNew rpcServerUserIsNew) {
        log.info(wzdjPack.toString());
    }
    public static void cmd720907_RpcClientMailDelete(Channel channel, WZDJPack wzdjPack
            , RpcClientMailDelete rpcClientMailDelete) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310740_RpcClientFighterRecruitAdvancedMode(Channel channel,WZDJPack wzdjPack
            ,RpcClientFighterRecruitAdvancedMode rpcClientFighterRecruitAdvancedMode) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441814_RpcServerFightPassRewardGet(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightPassRewardGet rpcServerFightPassRewardGet) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703962_RpcServerFriendFightInviteCancel(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendFightInviteCancel rpcServerFriendFightInviteCancel) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655371_RpcServerUserRename(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserRename rpcServerUserRename) {
        log.info(wzdjPack.toString());
    }
    public static void cmd720906_RpcServerMailDelete(Channel channel,WZDJPack wzdjPack
            ,RpcServerMailDelete rpcServerMailDelete) {
        log.info(wzdjPack.toString());
    }
    //每日挑战
    public static void cmd1441815_RpcClientFightPassReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightPassReward rpcClientFightPassReward) {
        log.info(wzdjPack.toString());
        Long refreshtime = rpcClientFightPassReward.getRefreshtime();
        boolean isTime = refreshtime != null && refreshtime > 0;
        String timeStr = isTime ? DateUtils.secondToTimeSimple(refreshtime) : "长期";
        Map<Integer, Integer> rewards = rpcClientFightPassReward.getRewards()!=null?rpcClientFightPassReward.getRewards():new HashMap<>();
        for (Map.Entry<Integer, Integer> entry : rewards.entrySet()) {
            Integer key = entry.getKey() != null ? entry.getKey() : 0; //通关类型
            Integer status = entry.getValue() != null ? entry.getValue() : 0;//状态
            if (status == 1) {
                WZDJSender.rpcServerFightPassRewardGet(key);//如果状态为完成，则领取奖励
            }

            //每日挑战 展示
            String battleTypeName = Consts.BattleType.nameById(key);
            String statusName = Consts.PassState.nameById(status);
            log.info("通关80奖励,类型:{},状态:{},刷新时间:{}", battleTypeName, statusName, timeStr);
            String format = String.format("日%s(%s)[%s]%s", battleTypeName, 80, statusName, timeStr);
            if (1==key){
                Stores.getInstance().getDayPass1().set(status);
                WZDJMainFrame.dayPass1Jlabel.setText(format);
            } else if (2==key){
                Stores.getInstance().getDayPass2().set(status);
                WZDJMainFrame.dayPass2Jlabel.setText(format);
            } else if (5==key){
                Stores.getInstance().getDayPass5().set(status);
                WZDJMainFrame.dayPass5Jlabel.setText(format);
            }


        }

    }
    public static void cmd1703963_RpcClientFriendFightInviteCancel(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendFightInviteCancel rpcClientFriendFightInviteCancel) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655368_RpcClientTellmeI18n(Channel channel,WZDJPack wzdjPack
            ,RpcClientTellmeI18n rpcClientTellmeI18n) {
        log.info(wzdjPack.toString());
        I18nString msg = rpcClientTellmeI18n.getMsg() != null ? rpcClientTellmeI18n.getMsg() : new I18nString();
        WZDJMainFrame.consoleTextArea.append(JSON.toJSONString(msg) + "\n");
    }
    public static void cmd720905_RpcClientMailOneKeyReceive(Channel channel,WZDJPack wzdjPack
            ,RpcClientMailOneKeyReceive rpcClientMailOneKeyReceive) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441812_RpcClientFightPvpPushResult(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightPvpPushResult rpcClientFightPvpPushResult) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703960_RpcClientFriendFightInviteOp(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendFightInviteOp rpcClientFriendFightInviteOp) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655369_RpcClientUserProp(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserProp rpcClientUserProp) {
        log.info(wzdjPack.toString());
        //用户信息
        BasicInfo basicInfo = rpcClientUserProp.getUserprop().getUserinfo();
        Stores.getInstance().setBasicInfo(basicInfo);
        Stores.getInstance().setLogin(true);

        String myUInfo = Stores.getInstance().getMyUBase();
        Stores.getWzdjMainFrame().setTitle("对决塔防(免责声明:仅用于学习,请勿滥用 wx[dahuo_yzs])" + myUInfo);
    }
    public static void cmd720904_RpcServerMailOneKeyReceive(Channel channel,WZDJPack wzdjPack
            ,RpcServerMailOneKeyReceive rpcServerMailOneKeyReceive) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441813_RpcClientFightRewardTimes(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightRewardTimes rpcClientFightRewardTimes) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703961_RpcClientFriendFightInviteOpNotice(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendFightInviteOpNotice rpcClientFriendFightInviteOpNotice) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655374_RpcClientUserReserve(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserReserve rpcClientUserReserve) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310736_RpcClientFighterRecruitProbInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientFighterRecruitProbInfo rpcClientFighterRecruitProbInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441810_RpcServerStageSwitch(Channel channel,WZDJPack wzdjPack
            ,RpcServerStageSwitch rpcServerStageSwitch) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655375_RpcServerUserClientError(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserClientError rpcServerUserClientError) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310737_RpcServerFighterRecruitAdvancedWish(Channel channel,WZDJPack wzdjPack
            ,RpcServerFighterRecruitAdvancedWish rpcServerFighterRecruitAdvancedWish) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441811_RpcServerFightRoomJoinFromShare(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightRoomJoinFromShare rpcServerFightRoomJoinFromShare) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655372_RpcClientUserRename(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserRename rpcClientUserRename) {
        log.info(wzdjPack.toString());
    }
    public static void cmd720909_RpcClientMailOneKeyDelete(Channel channel,WZDJPack wzdjPack
            ,RpcClientMailOneKeyDelete rpcClientMailOneKeyDelete) {
        log.info(wzdjPack.toString());
    }
    public static void cmd917512_RpcClientNoticeQqNum(Channel channel,WZDJPack wzdjPack
            ,RpcClientNoticeQqNum rpcClientNoticeQqNum) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310738_RpcServerFighterRecruitAdvancedSelect(Channel channel,WZDJPack wzdjPack
            ,RpcServerFighterRecruitAdvancedSelect rpcServerFighterRecruitAdvancedSelect) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441808_RpcClientFightPvpCircleResult(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightPvpCircleResult rpcClientFightPvpCircleResult) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703964_RpcClientFriendSearchByUid(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendSearchByUid rpcClientFriendSearchByUid) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655373_RpcServerUserReserve(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserReserve rpcServerUserReserve) {
        log.info(wzdjPack.toString());
    }
    public static void cmd720908_RpcServerMailOneKeyDelete(Channel channel,WZDJPack wzdjPack
            ,RpcServerMailOneKeyDelete rpcServerMailOneKeyDelete) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310739_RpcClientFighterCritDmg(Channel channel,WZDJPack wzdjPack
            ,RpcClientFighterCritDmg rpcClientFighterCritDmg) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441809_RpcClientFightCoopHardResult(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightCoopHardResult rpcClientFightCoopHardResult) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655362_RpcClientCloseReason(Channel channel,WZDJPack wzdjPack
            ,RpcClientCloseReason rpcClientCloseReason) {
        log.info(wzdjPack.toString());
        //清空登录数据
        Stores.getInstance().setUserInfo(null);
        //打印关闭原因到控制台
        I18nString msg = rpcClientCloseReason.getMsg() != null ? rpcClientCloseReason.getMsg() : new I18nString();
        String format = msg.getFormat() != null ? msg.getFormat() : "";
        if (StrUtil.isNotBlank(format)) {
            WZDJMainFrame.consoleTextArea.append(DateUtil.formatDateTime(new Date()) + format + "\n");
        }
    }
    public static void cmd720899_RpcClientMailList(Channel channel,WZDJPack wzdjPack
            ,RpcClientMailList rpcClientMailList) {
        log.info(wzdjPack.toString());

        if (rpcClientMailList != null && !rpcClientMailList.getMails().isEmpty()) {
            List<MailInfo> mails = rpcClientMailList.getMails() != null ? rpcClientMailList.getMails() : new ArrayList<>();
            for (MailInfo mail : mails) {
                Boolean ispick = mail.getIspick() != null ? mail.getIspick() : false;
                Boolean isread = mail.getIsread() != null ? mail.getIsread() : false;
                if (ispick == false) {
                    WZDJSender.rpcServerMailOneKeyReceive();//一键领取邮件奖励
                    break;
                }

                if (isread == false) {
                    //自动读取公告. 算了 上线没提示，也不合适
                    //WZDJSender.rpcServerMailRead(mail.getMailid());
                }

            }
        }

    }
    //远程已经下掉的协议
//    public static void cmd786436_RpcServerItemManySelectOne(Channel channel,WZDJPack wzdjPack
//            ,RpcServerItemManySelectOne rpcServerItemManySelectOne) {
//        log.info(wzdjPack.toString());
//    }
    public static void cmd917510_RpcClientNoticeDelete(Channel channel,WZDJPack wzdjPack
            ,RpcClientNoticeDelete rpcClientNoticeDelete) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703954_RpcClientFriendUnreadChat(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendUnreadChat rpcClientFriendUnreadChat) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655363_RpcServerLogin(Channel channel,WZDJPack wzdjPack
            ,RpcServerLogin rpcServerLogin) {
        log.info(wzdjPack.toString());
    }
    public static void cmd720898_RpcServerMailList(Channel channel,WZDJPack wzdjPack
            ,RpcServerMailList rpcServerMailList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd786437_RpcClientCommonRewardAdd(Channel channel,WZDJPack wzdjPack
            ,RpcClientCommonRewardAdd rpcClientCommonRewardAdd) {
        log.info(wzdjPack.toString());
        StringBuilder sb = new StringBuilder();
        for (RewardInfo reward : rpcClientCommonRewardAdd.getRewards()) {
           String name = Consts.Item.nameById(reward.getItemid());
            Long amount = reward.getAmount() != null ? reward.getAmount() : 0;
            sb.append(String.format("%s(%s),", name, amount));
            if (reward.getItemid().equals("daily_mission_point")) {
                WZDJSender.rpcServerSignInInfo();//查看每日探索进度,会触发领取奖励
            }
        }
        WZDJMainFrame.consoleTextArea.append(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS") + "奖:" + sb + "\n");
        log.info("奖:" + sb);
    }
    public static void cmd917511_RpcServerNoticeQqNum(Channel channel,WZDJPack wzdjPack
            ,RpcServerNoticeQqNum rpcServerNoticeQqNum) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703955_RpcClientFriendOnlineStatus(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendOnlineStatus rpcClientFriendOnlineStatus) {
//        log.info(wzdjPack.toString());
        //好友上线更新
        //[1703955,RpcClientFriendOnlineStatus,RpcClientFriendOnlineStatus,25B]:{"frienduid":14499165,"logouttime":1739026614,"status":1}
        WZDJService.updateFriendStatus(rpcClientFriendOnlineStatus);
    }
    public static void cmd720897_RpcClientMailAdd(Channel channel,WZDJPack wzdjPack
            ,RpcClientMailAdd rpcClientMailAdd) {
        log.info(wzdjPack.toString());
        MailInfo mail = rpcClientMailAdd.getMail() != null ? rpcClientMailAdd.getMail() : new MailInfo();
        String content = mail.getContent() != null ? mail.getContent() : "";
        List<Reward> rewardList = mail.getReward() != null ? mail.getReward() : new ArrayList<>();

        StringBuilder sb = new StringBuilder();
        for (Reward reward : rewardList) {
            String key = reward.getKey() != null ? reward.getKey() : "";
            Long amount = reward.getAmount() != null ? reward.getAmount() : 0;
            String itemName = Consts.Item.nameById(key);
            sb.append(String.format("%s(%s),", itemName, amount));
        }

        WZDJMainFrame.consoleTextArea.append(DateUtil.formatDateTime(new Date()) + content + sb + "\n");

        //有奖励自动领取邮件奖励
        if (!rewardList.isEmpty()) {
            WZDJSender.rpcServerMailRead(mail.getMailid());//读取邮件
            ThreadUtil.sleep(200);
            WZDJSender.rpcServerMailReceive(mail.getMailid());//领取奖励
        }

    }
    //只有登录的时候才会更新，后续10分+1的体力不会触发该协议
    public static void cmd786438_RpcClientEnergy(Channel channel,WZDJPack wzdjPack
            ,RpcClientEnergy rpcClientEnergy) {
        log.info(wzdjPack.toString());
        int energy = rpcClientEnergy.getEnergy() != null ? rpcClientEnergy.getEnergy() : 0;
        Integer next = rpcClientEnergy.getNext() != null ? rpcClientEnergy.getNext() : 0;
        String timeStr = DateUtils.secondToTime(next);
        Stores.getInstance().getEnergy().set(energy);
        Stores.getInstance().getEnergyNext().set(next);//更新next时间
        WZDJMainFrame.energyJlabel.setText("体力:" + energy);
        WZDJMainFrame.energyNextJlabel.setText("刷新:" + timeStr);
    }
    public static void cmd917508_RpcClientNoticeRead(Channel channel,WZDJPack wzdjPack
            ,RpcClientNoticeRead rpcClientNoticeRead) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703952_RpcClientFriendReadBeApplyFriends(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendReadBeApplyFriends rpcClientFriendReadBeApplyFriends) {
        log.info(wzdjPack.toString());
        //有好友添加，红点提示

    }
    public static void cmd1441820_RpcClientFightMissionInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightMissionInfo rpcClientFightMissionInfo) {
        log.info(wzdjPack.toString());
        String curmissid = rpcClientFightMissionInfo.getCurmissid();
        Integer status = rpcClientFightMissionInfo.getMissstatus();
        String statusName = Consts.FightMissionState.nameById(status);
        Integer missCnt = rpcClientFightMissionInfo.getMisscnt();//空 任务次数
        Integer fCnt = rpcClientFightMissionInfo.getRefreshcnt();//空 刷新次数
//        System.out.printf("战斗任务%s,状态:%s(%s),missCnt:%s,freshCnt:%s%n",
//                curmissid, status, statusName, missCnt, fCnt);
        log.info("战斗任务:{},状态:{}({}),missCnt:{},freshCnt:{}",curmissid, status, statusName, missCnt, fCnt);

        String format = String.format("局内任务%s:%s(%s)", curmissid, status, statusName);
        WZDJMainFrame.passTaskJlabel.setText(format);


        //战斗通关80且局内任务完成。1未完成 2已完成为领取 3已领取
        if (status == 2) {
            //[1441819,RpcServerFightMissionRewardGet,RpcServerFightMissionRewardGet,8B]:null
            RpcServerFightMissionRewardGet rpcServerFightMissionRewardGet = new RpcServerFightMissionRewardGet();
            PackUtil.send(channel, rpcServerFightMissionRewardGet);
        }
    }
    public static void cmd655361_RpcClientUserToken(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserToken rpcClientUserToken) {
        log.info(wzdjPack.toString());
    }
    public static void cmd917509_RpcClientNoticeNew(Channel channel,WZDJPack wzdjPack
            ,RpcClientNoticeNew rpcClientNoticeNew) {
//        log.info(wzdjPack.toString());
        //亲爱的指挥官：为了维护健康的游戏生态与保障玩家的游戏体验和财产安全，官方全面禁止一切形式的有偿代打宣传与交易
    }
    public static void cmd1703953_RpcServerFriendReadChat(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendReadChat rpcServerFriendReadChat) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655366_RpcClientBackHome(Channel channel,WZDJPack wzdjPack
            ,RpcClientBackHome rpcClientBackHome) {
        log.info(wzdjPack.toString());
    }
    public static void cmd720903_RpcClientMailReceive(Channel channel,WZDJPack wzdjPack
            ,RpcClientMailReceive rpcClientMailReceive) {
        log.info(wzdjPack.toString());
    }
    public static void cmd851969_RpcServerPayCreateOrder(Channel channel,WZDJPack wzdjPack
            ,RpcServerPayCreateOrder rpcServerPayCreateOrder) {
        log.info(wzdjPack.toString());
    }
    public static void cmd917506_RpcClientNoticeList(Channel channel,WZDJPack wzdjPack
            ,RpcClientNoticeList rpcClientNoticeList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703958_RpcClientFriendFightInviteNotice(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendFightInviteNotice rpcClientFriendFightInviteNotice) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441818_RpcServerFightMissionRefresh(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightMissionRefresh rpcServerFightMissionRefresh) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655367_RpcClientRoleCreate(Channel channel,WZDJPack wzdjPack
            ,RpcClientRoleCreate rpcClientRoleCreate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd720902_RpcServerMailReceive(Channel channel,WZDJPack wzdjPack
            ,RpcServerMailReceive rpcServerMailReceive) {
        log.info(wzdjPack.toString());
    }
    public static void cmd786433_RpcClientItemList(Channel channel,WZDJPack wzdjPack
            ,RpcClientItemList rpcClientItemList) {
        log.info(wzdjPack.toString());
        StringBuilder itemSb = new StringBuilder();
        rpcClientItemList.getItems().forEach(itemInfo -> {
            String name = Consts.Item.nameById(itemInfo.getItemid());
            Long afterNum = itemInfo.getAmount() != null ? itemInfo.getAmount() : 0;
            itemSb.append(name).append(":").append(afterNum).append("\n");
            WZDJService.itemUpdate(itemInfo.getItemid(), afterNum);//64 登录道具数量同步
        });
//        WZDJMainFrame.itemInfoJPanel.setText(itemSb.toString());
//        log.info(itemSb.toString());
    }
    public static void cmd917507_RpcServerNoticeRead(Channel channel,WZDJPack wzdjPack
            ,RpcServerNoticeRead rpcServerNoticeRead) {
        log.info(wzdjPack.toString());
    }
    public static void cmd983042_RpcClientLoginTipsInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientLoginTipsInfo rpcClientLoginTipsInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703959_RpcServerFriendFightInviteOp(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendFightInviteOp rpcServerFriendFightInviteOp) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441819_RpcServerFightMissionRewardGet(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightMissionRewardGet rpcServerFightMissionRewardGet) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655364_RpcClientLoginFinish(Channel channel,WZDJPack wzdjPack
            ,RpcClientLoginFinish rpcClientLoginFinish) {
//        log.info(wzdjPack.toString());

        //登录全部完成
        String name = Stores.getInstance().getBasicInfo().getName();
        WZDJMainFrame.consoleTextArea.append(String.format("%s %s,登录成功!%n", DateUtil.formatDateTime(new Date()), name));

        //发一个订阅福利，让他官方能算人头数。不发也行，但建议发。
        WZDJSender.rpcServerWelfareSubscription();
        Stores.getWzdjMainFrame().goldBuyGoods();//商店购买商品
//        Stores.getWzdjMainFrame().handleGainAwardClick();//fixme 登陆时自动领奖

    }
    public static void cmd720901_RpcClientMailRead(Channel channel,WZDJPack wzdjPack
            ,RpcClientMailRead rpcClientMailRead) {
        log.info(wzdjPack.toString());
    }

    //道具数量同步 after
    public static void cmd786434_RpcClientItemOne(Channel channel,WZDJPack wzdjPack
            ,RpcClientItemOne rpcClientItemOne) {
        log.info(wzdjPack.toString());
        String itemid = rpcClientItemOne.getItem().getItemid();
        Long amount = rpcClientItemOne.getItem().getAmount() != null ? rpcClientItemOne.getItem().getAmount() : 0;
//        String name = Consts.Item.nameById(itemid);
//        String format = String.format("%s道具变动后:%s", name, amount);
//        WZDJMainFrame.consoleTextArea.append(format + "\n");
//        log.info(format);
        WZDJService.itemUpdate(itemid, amount);//64 单个道具变动同步
    }
    public static void cmd983041_RpcClientTipsInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientTipsInfo rpcClientTipsInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441816_RpcServerFightPvpWinRewardGet(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightPvpWinRewardGet rpcServerFightPvpWinRewardGet) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703956_RpcServerFriendFightInvite(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendFightInvite rpcServerFriendFightInvite) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655365_RpcServerBackHome(Channel channel,WZDJPack wzdjPack
            ,RpcServerBackHome rpcServerBackHome) {
        log.info(wzdjPack.toString());
    }
    public static void cmd720900_RpcServerMailRead(Channel channel,WZDJPack wzdjPack
            ,RpcServerMailRead rpcServerMailRead) {
        log.info(wzdjPack.toString());
    }
    public static void cmd786435_RpcServerItemUse(Channel channel,WZDJPack wzdjPack
            ,RpcServerItemUse rpcServerItemUse) {
        log.info(wzdjPack.toString());
    }
    public static void cmd851970_RpcClientPayCreateOrder(Channel channel,WZDJPack wzdjPack
            ,RpcClientPayCreateOrder rpcClientPayCreateOrder) {
        log.info(wzdjPack.toString());
    }
    public static void cmd917505_RpcServerNoticeList(Channel channel,WZDJPack wzdjPack
            ,RpcServerNoticeList rpcServerNoticeList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441817_RpcClientFightPvpWinReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightPvpWinReward rpcClientFightPvpWinReward) {
        log.info(wzdjPack.toString());
        int reward = rpcClientFightPvpWinReward.getReward() != null ? rpcClientFightPvpWinReward.getReward() : 0;//奖励状态
        String statusName = Consts.PVPState.nameById(reward);
        Integer win = rpcClientFightPvpWinReward.getWin() != null ? rpcClientFightPvpWinReward.getWin() : 0;//完成个数
        Integer need = rpcClientFightPvpWinReward.getNeed() != null ? rpcClientFightPvpWinReward.getNeed() : 0;//需要个数

        Stores.getInstance().getDayPvpWin().set(win);//当前完成个数
        Stores.getInstance().getDayPvpNeed().set(need);//需要个数
        Stores.getInstance().getDayPvpReward().set(reward);//奖励状态

        log.info("PVP奖励[{}/{}]状态:{}({})", win, need, reward, statusName);
        String format = String.format("PVP[%s/%s]状态:%s(%s)%n", win,need,reward,statusName);
        WZDJMainFrame.passPVPJlabel.setText(format);
        if (win >= need && reward == 2) {
            //TODO 完成任务领取奖励
        }
    }
    public static void cmd1703957_RpcClientFriendFightInvite(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendFightInvite rpcClientFriendFightInvite) {
        log.info(wzdjPack.toString());
        //程序发起的邀请，直接取消掉
        WZDJSender.rpcServerFriendFightInviteCancel(rpcClientFriendFightInvite.getType());
        //状态
        int status = rpcClientFriendFightInvite.getStatus() !=null ? rpcClientFriendFightInvite.getStatus() : 0;
        if (status == 0){//对方不在线
            WZDJMainFrame.consoleTextArea.append("离线状态中" + "\n");
        } else if (status == 1){//对方在线
            WZDJMainFrame.consoleTextArea.append("在线状态中" + "\n");
        } else if (status == 2){//对象在线且 战斗中
            WZDJMainFrame.consoleTextArea.append("战斗状态中" + "\n");
        }
    }
    public static void cmd1245187_RpcClientAdvertInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientAdvertInfo rpcClientAdvertInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655386_RpcServerUserChangeFrame(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserChangeFrame rpcServerUserChangeFrame) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1114113_RpcServerShopInfoAll(Channel channel,WZDJPack wzdjPack
            ,RpcServerShopInfoAll rpcServerShopInfoAll) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1179650_RpcClientMissionUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientMissionUpdate rpcClientMissionUpdate) {
//        log.info(wzdjPack.toString());
        //任务更新
        OneMissionInfo oneinfo = rpcClientMissionUpdate.getOneinfo();
        StringBuilder sb = new StringBuilder();
        sb.append("任务更新_");
        Integer state = oneinfo.getState();
        String stateName = Consts.MissionState.nameById(state);
        Boolean advert1 = oneinfo.getAdvert() != null ? oneinfo.getAdvert() : false;
        StringBuilder progressSb = new StringBuilder();
        for (KvLong progress : oneinfo.getProgress()) {
            String k = progress.getK();
            Long v = progress.getV() != null ? progress.getV() : 0L;
            progressSb.append(k).append("=").append(v).append(";");
        }
        sb.append(String.format("%s进度:[%s]状态:%s(%s),广告:%s%n",
                oneinfo.getMissid(), progressSb, state, stateName, advert1));
    }
    public static void cmd1310724_RpcClientOneFighter(Channel channel,WZDJPack wzdjPack
            ,RpcClientOneFighter rpcClientOneFighter) {
//        log.info(wzdjPack.toString());
        //奖励英雄碎片后 英雄碎片数量
    }
    public static void cmd1376261_RpcServerPassportLuxuryReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerPassportLuxuryReward rpcServerPassportLuxuryReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441798_RpcServerFightRoomJoin(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightRoomJoin rpcServerFightRoomJoin) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703946_RpcServerFriendAgreeBeApply(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendAgreeBeApply rpcServerFriendAgreeBeApply) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1835020_RpcClientDeleteChat(Channel channel,WZDJPack wzdjPack
            ,RpcClientDeleteChat rpcClientDeleteChat) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900557_RpcServerLimitShopDailyGiftGet(Channel channel,WZDJPack wzdjPack
            ,RpcServerLimitShopDailyGiftGet rpcServerLimitShopDailyGiftGet) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655387_RpcClientUserChangeFrame(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserChangeFrame rpcClientUserChangeFrame) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1048577_RpcServerCmd(Channel channel,WZDJPack wzdjPack
            ,RpcServerCmd rpcServerCmd) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1245186_RpcServerAdvertInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerAdvertInfo rpcServerAdvertInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310725_RpcServerFighterLvUp(Channel channel,WZDJPack wzdjPack
            ,RpcServerFighterLvUp rpcServerFighterLvUp) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1376260_RpcClientPassportNormalReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientPassportNormalReward rpcClientPassportNormalReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441799_RpcClientFightRoomMiss(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightRoomMiss rpcClientFightRoomMiss) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703947_RpcClientFriendAdd(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendAdd rpcClientFriendAdd) {
        log.info(wzdjPack.toString());
        FriendInfo addfriend = rpcClientFriendAdd.getAddfriend();
        Integer status = addfriend.getStatus();
        Long ts = addfriend.getTs();
        BasicInfo basicInfo = addfriend.getUserinfo();
        String uBase = WZDJService.getUBase(basicInfo);
        String time = DateUtil.formatDateTime(new Date(ts));
        String friendAdd = time + "同意" + uBase + "添加好友完成%n";
        WZDJMainFrame.consoleTextArea.append(friendAdd);
    }
    public static void cmd1900556_RpcClientLimitShopDailyGift(Channel channel,WZDJPack wzdjPack
            ,RpcClientLimitShopDailyGift rpcClientLimitShopDailyGift) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1245185_RpcClientAdvertAll(Channel channel,WZDJPack wzdjPack
            ,RpcClientAdvertAll rpcClientAdvertAll) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655384_RpcClientUserAvatarList(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserAvatarList rpcClientUserAvatarList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1048578_RpcClientCmd(Channel channel,WZDJPack wzdjPack
            ,RpcClientCmd rpcClientCmd) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1114115_RpcServerShopInfoOne(Channel channel,WZDJPack wzdjPack
            ,RpcServerShopInfoOne rpcServerShopInfoOne) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310726_RpcClientFighterRecruitInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientFighterRecruitInfo rpcClientFighterRecruitInfo) {
        log.info(wzdjPack.toString());

        boolean free = rpcClientFighterRecruitInfo.getFree() != null ? rpcClientFighterRecruitInfo.getFree() : false;
        Integer num = rpcClientFighterRecruitInfo.getNum() != null ? rpcClientFighterRecruitInfo.getNum() : 1;
        if (free) {//免费的话自动再抽一次
            WZDJSender.rpcServerFighterRecruit(num);
        }

    }
    public static void cmd1376263_RpcClientPassportLvExp(Channel channel,WZDJPack wzdjPack
            ,RpcClientPassportLvExp rpcClientPassportLvExp) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441796_RpcServerFightRoomDestroy(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightRoomDestroy rpcServerFightRoomDestroy) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1507333_RpcServerRelicLvUp(Channel channel,WZDJPack wzdjPack
            ,RpcServerRelicLvUp rpcServerRelicLvUp) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703944_RpcServerFriendRefuseBeApply(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendRefuseBeApply rpcServerFriendRefuseBeApply) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655385_RpcClientUserAvatarAdd(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserAvatarAdd rpcClientUserAvatarAdd) {
        log.info(wzdjPack.toString());
    }

    public static void cmd1114114_RpcClientShopInfoAll(Channel channel,WZDJPack wzdjPack
            ,RpcClientShopInfoAll rpcClientShopInfoAll) {
        log.info(wzdjPack.toString());

        //打印
        String allShopStr = allShopStr(rpcClientShopInfoAll);
//        log.info(allShopStr);
//        WZDJMainFrame.consoleTextArea.append(allShopStr);

        for (ShopInfo shopInfo : rpcClientShopInfoAll.getAllshopinfo()) {
            WZDJService.shopUpdate(shopInfo);
        }

    }

    private static String allShopStr(RpcClientShopInfoAll rpcClientShopInfoAll){
        List<ShopInfo> allshopinfo = rpcClientShopInfoAll.getAllshopinfo();
        allshopinfo.sort(Comparator.comparingInt(ShopInfo::getShopid));
        StringBuilder sb = new StringBuilder();
        sb.append("商店全量数据个数:").append(allshopinfo.size()).append("----------------------------").append("\n");
        for (ShopInfo shopInfo : allshopinfo) {
            List<GoodsInfo> goodsInfoList = shopInfo.getGoodsinfo() != null ? shopInfo.getGoodsinfo() : new ArrayList<>();
            Integer shopId = shopInfo.getShopid()!= null ? shopInfo.getShopid() : 0;
            String shopName = Consts.ShopType.nameById(shopId);
            Integer freshCnt = shopInfo.getLeftrefreshcnt() != null ? shopInfo.getLeftrefreshcnt() : 0;
            Integer maxFreshCnt = shopInfo.getMaxrefreshcnt() != null ? shopInfo.getMaxrefreshcnt() : 0;
            boolean hasSurplus = shopInfo.getLefttime() != null && shopInfo.getLefttime() > 0;
            String surplus = hasSurplus ? DateUtils.secondToTime(shopInfo.getLefttime()) : "长期";
            StringBuilder subSb = new StringBuilder();
            subSb.append(String.format("%s[%s],%s个商品,刷新次数:[%s/%s],有效:%s%n",
                    shopId, shopName, shopInfo.getGoodsinfo().size(), freshCnt, maxFreshCnt, surplus));
            for (GoodsInfo goodsInfo : goodsInfoList) {
                Integer goodsid = goodsInfo.getGoodsid() != null ? goodsInfo.getGoodsid() : 0;
                Integer buycnt = goodsInfo.getBuycnt() != null ? goodsInfo.getBuycnt() : 0;
                Integer maxBuyCnt = goodsInfo.getMaxbuycnt() != null ? goodsInfo.getMaxbuycnt() : 0;
                Long time = goodsInfo.getTime() != null ? goodsInfo.getTime() : 0;
                String showTime = DateUtil.format(new Date(time * 1000), "MM-dd HH:mm");
                Long leftTime = goodsInfo.getLefttime() != null ? goodsInfo.getLefttime() : 0;
                String endTimeStr = leftTime > 0 ? DateUtils.secondToTime(leftTime) : "长期";
                Integer salestate = goodsInfo.getSalestate() != null ? goodsInfo.getSalestate() : 0;
                Goods goods = Stores.getCfgGoods(shopId, goodsid);
                if (goods != null) {
                    GoodsVO goodsVO = GoodsVO.of(shopId, goodsid, goods);

                    if (shopId == 16001 && goods.getGoods() == 2) {
                        List<IdNum> costList = goods.getCost();
                        IdNum idNum = costList.get(buycnt);
                        goodsVO.setCostName("钻石");
                        goodsVO.setCostNum(idNum.getNum() + "");
                    }

                    String goodsStr = "";
                    boolean isFree = goodsVO != null && goodsVO.getFree() != null && 1 == goodsVO.getFree();
                    String cost = isFree ? "免费" : goodsVO.getCostName() + "(" + goodsVO.getCostNum() + ")";
                    goodsStr = String.format("%s(%s)|%s|%s", goodsVO.getRewardName(), goodsVO.getRewardNum(), cost, salestate);

                    subSb.append(String.format(" id:%s,%s,销售:[%s/%s],状态:%s,更新:%s,end:%s%n",
                            goodsid, goodsStr, buycnt, maxBuyCnt, salestate, showTime, endTimeStr));
                } else {
                    subSb.append(String.format(" id:%s,销售:[%s/%s],状态:%s,更新:%s,end:%s%n",
                            goodsid, buycnt, maxBuyCnt, salestate, showTime, endTimeStr));
                }
            }
            sb.append(subSb);
        }
        return sb.toString();
    }

    public static void cmd1179649_RpcClientMissionList(Channel channel,WZDJPack wzdjPack
            ,RpcClientMissionList rpcClientMissionList) {
//        log.info(wzdjPack.toString());
        List<TypeMissionInfo> allinfo = rpcClientMissionList.getAllinfo();
        StringBuilder sb = new StringBuilder();
        sb.append("任务类型个数:").append(allinfo.size()).append("-------------------------------").append("\n");
        for (TypeMissionInfo typeMissionInfo : allinfo) {
            Integer type = typeMissionInfo.getType();
            String typeName = Consts.MissionType.nameById(type);
            Integer rewardget = typeMissionInfo.getRewardget()!=null ? typeMissionInfo.getRewardget() : 0;//空
            Long time = typeMissionInfo.getTime()!=null ? typeMissionInfo.getTime() : 0L;//空
            Boolean advert = typeMissionInfo.getAdvert() != null ? typeMissionInfo.getAdvert() : false;//空
            List<OneMissionInfo> missions = typeMissionInfo.getMissions();
            StringBuilder subSb = new StringBuilder();
            subSb.append(String.format("类型:%s[%s],%s条,奖励:%s,时间:%s,广告:%s,数据如下:%n",
                    type, typeName, missions.size(), rewardget, time, advert));
            for (OneMissionInfo mission : missions) {
                Integer state = mission.getState();
                String stateName = Consts.MissionState.nameById(state);
                Boolean advert1 = mission.getAdvert() != null ? mission.getAdvert() : false;
                StringBuilder progressSb = new StringBuilder();
                for (KvLong progress : mission.getProgress()) {
                    String k = progress.getK();
                    Long v = progress.getV() != null ? progress.getV() : 0L;
                    progressSb.append(k).append("=").append(v).append(";");
                }
                subSb.append(String.format("\t%s进度:[%s]状态:%s(%s),广告:%s%n",
                        mission.getMissid(), progressSb, state, stateName, advert1));
                //完成任务,领取奖励,
                if (state == 2 && mission != null && mission.getMissid() != null) {
                    WZDJSender.rpcServerMissionComplete(mission.getMissid());
                }

            }
            sb.append(subSb);
        }
//        System.out.printf(sb);
    }
    public static void cmd1310727_RpcServerFighterRecruit(Channel channel,WZDJPack wzdjPack
            ,RpcServerFighterRecruit rpcServerFighterRecruit) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1376262_RpcClientPassportLuxuryReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientPassportLuxuryReward rpcClientPassportLuxuryReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441797_RpcClientFightRoomDestroy(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightRoomDestroy rpcClientFightRoomDestroy) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1507332_RpcClientOneRelic(Channel channel,WZDJPack wzdjPack
            ,RpcClientOneRelic rpcClientOneRelic) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703945_RpcClientFriendRefuseBeApply(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendRefuseBeApply rpcClientFriendRefuseBeApply) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1376257_RpcServerPassportInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerPassportInfo rpcServerPassportInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655390_RpcClientUserFrameAdd(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserFrameAdd rpcClientUserFrameAdd) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1114117_RpcServerShopBuy(Channel channel,WZDJPack wzdjPack
            ,RpcServerShopBuy rpcServerShopBuy) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1245191_RpcServerAdvertReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerAdvertReward rpcServerAdvertReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441794_RpcServerFightRoomCreate(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightRoomCreate rpcServerFightRoomCreate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1507331_RpcServerOneRelic(Channel channel,WZDJPack wzdjPack
            ,RpcServerOneRelic rpcServerOneRelic) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703950_RpcServerFriendFight(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendFight rpcServerFriendFight) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1835016_RpcServerNameReport(Channel channel,WZDJPack wzdjPack
            ,RpcServerNameReport rpcServerNameReport) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900553_RpcClientTotalSignInReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientTotalSignInReward rpcClientTotalSignInReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1245190_RpcServerAdvertEnd(Channel channel,WZDJPack wzdjPack
            ,RpcServerAdvertEnd rpcServerAdvertEnd) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655391_RpcServerUserNewbieGuide(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserNewbieGuide rpcServerUserNewbieGuide) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1114116_RpcClientShopInfoOne(Channel channel,WZDJPack wzdjPack
            ,RpcClientShopInfoOne rpcClientShopInfoOne) {
        //log.info(wzdjPack.toString());
        String oneShopStr = oneShopStr(rpcClientShopInfoOne);
        log.info(oneShopStr);
//        WZDJMainFrame.consoleTextArea.append(oneShopStr);
        //单个商店更新
        ShopInfo shopinfo = rpcClientShopInfoOne.getShopinfo();
        if (shopinfo != null) {
            WZDJService.shopUpdate(shopinfo);
        }
    }


    private static String oneShopStr(RpcClientShopInfoOne rpcClientShopInfoOne){
        ShopInfo shopInfo = rpcClientShopInfoOne.getShopinfo();
        List<GoodsInfo> goodsInfoList = shopInfo.getGoodsinfo() != null ? shopInfo.getGoodsinfo() : new ArrayList<>();
        Integer shopId = shopInfo.getShopid()!= null ? shopInfo.getShopid() : 0;
        String shopName = Consts.ShopType.nameById(shopId);
        Integer freshCnt = shopInfo.getLeftrefreshcnt() != null ? shopInfo.getLeftrefreshcnt() : 0;
        Integer maxFreshCnt = shopInfo.getMaxrefreshcnt() != null ? shopInfo.getMaxrefreshcnt() : 0;
        boolean hasSurplus = shopInfo.getLefttime() != null && shopInfo.getLefttime() > 0;
        String surplus = hasSurplus ? DateUtils.secondToTime(shopInfo.getLefttime()) : "长期";
        StringBuilder subSb = new StringBuilder();
        subSb.append(String.format("%s[%s],%s个商品,刷新次数:[%s/%s],有效:%s%n",
                shopId, shopName, shopInfo.getGoodsinfo().size(), freshCnt, maxFreshCnt, surplus));
        for (GoodsInfo goodsInfo : goodsInfoList) {
            Integer goodsid = goodsInfo.getGoodsid() != null ? goodsInfo.getGoodsid() : 0;
            Integer buycnt = goodsInfo.getBuycnt() != null ? goodsInfo.getBuycnt() : 0;
            Integer maxBuyCnt = goodsInfo.getMaxbuycnt() != null ? goodsInfo.getMaxbuycnt() : 0;
            Long time = goodsInfo.getTime() != null ? goodsInfo.getTime() : 0;
            String showTime = DateUtil.format(new Date(time * 1000), "MM-dd HH:mm");
            Long leftTime = goodsInfo.getLefttime() != null ? goodsInfo.getLefttime() : 0;
            String endTimeStr = leftTime > 0 ? DateUtils.secondToTime(leftTime) : "长期";
            Integer salestate = goodsInfo.getSalestate() != null ? goodsInfo.getSalestate() : 0;
            Goods goods = Stores.getCfgGoods(shopId, goodsid);
            if (goods != null) {
                GoodsVO goodsVO = GoodsVO.of(shopId, goodsid, goods);
                String goodsStr = "";
                boolean isFree = goodsVO != null && goodsVO.getFree() != null && 1 == goodsVO.getFree();
                String cost = isFree ? "免费" : goodsVO.getCostName() + "(" + goodsVO.getCostNum() + ")";
                goodsStr = String.format("%s(%s)|%s|%s", goodsVO.getRewardName(), goodsVO.getRewardNum(), cost, salestate);

                subSb.append(String.format(" id:%s,%s,销售:[%s/%s],状态:%s,更新:%s,end:%s%n",
                        goodsid, goodsStr, buycnt, maxBuyCnt, salestate, showTime, endTimeStr));
            } else {
                subSb.append(String.format(" id:%s,销售:[%s/%s],状态:%s,更新:%s,end:%s%n",
                        goodsid, buycnt, maxBuyCnt, salestate, showTime, endTimeStr));
            }
        }
        return subSb.toString();
    }
    public static void printShopOne(RpcClientShopInfoOne rpcClientShopInfoOne){
        ShopInfo shopinfo = rpcClientShopInfoOne.getShopinfo();
        Integer shopid = shopinfo.getShopid() != null ? shopinfo.getShopid() : 0;
        Integer leftrefreshcnt = shopinfo.getLeftrefreshcnt()!= null ? shopinfo.getLeftrefreshcnt() : 0;//刷新次数
        Integer maxrefreshcnt = shopinfo.getMaxrefreshcnt()!= null ? shopinfo.getMaxrefreshcnt() : 0;//最大刷新次数
        Long lefttime = shopinfo.getLefttime() != null ? shopinfo.getLefttime() : 0;//结束时间
        String timeStr = lefttime > 0 ? DateUtils.secondToTime(lefttime) : "长期";
        StringBuilder sb = new StringBuilder();
        sb.append("商店更新 ").append(String.format("商店id:%s,刷新次数[%s/%s],结束时间:%s%n",
                shopid, leftrefreshcnt, maxrefreshcnt, timeStr)).append("\n");
        List<GoodsInfo> goodsinfoList = shopinfo.getGoodsinfo();
        for (GoodsInfo goodsInfo : goodsinfoList) {
            Integer goodsid = goodsInfo.getGoodsid() != null ? goodsInfo.getGoodsid() : 0;
            Integer salestate = goodsInfo.getSalestate()!= null ? goodsInfo.getSalestate() : 0;
            Integer buycnt = goodsInfo.getBuycnt()!= null ? goodsInfo.getBuycnt() : 0;
            Integer maxbuycnt = goodsInfo.getMaxbuycnt()!= null ? goodsInfo.getMaxbuycnt() : 0;
            Long lefttime1 = goodsInfo.getLefttime()!= null ? goodsInfo.getLefttime() : 0;
            String timeStr1 = lefttime1 > 0 ? DateUtils.secondToTime(lefttime1) : "长期";
            sb.append(String.format("商品id:%s,销售状态:%s,已购买次数:[%s/%s],结束时间:%s%n",
                    goodsid, Consts.MissionState.nameById(salestate), buycnt, maxbuycnt, timeStr1));
        }
        log.info(sb.toString());

        if (shopid == 10001) {//只关注可刷新商店
            List<GoodsInfo> goodsInfoList = shopinfo.getGoodsinfo() != null ? shopinfo.getGoodsinfo() : new ArrayList<>();
            StringBuilder subSb = new StringBuilder();
            for (GoodsInfo goodsInfo : goodsInfoList) {
                Integer goodsId = goodsInfo.getGoodsid() != null ? goodsInfo.getGoodsid() : 0;
                Integer buycnt = goodsInfo.getBuycnt()!= null ? goodsInfo.getBuycnt() : 0;
                int salestate = goodsInfo.getSalestate() != null ? goodsInfo.getSalestate() : 0;
//                Goods goods = Stores.goodsCfg.getObject(shopId + "", Goods.class);
                Goods goods = Stores.getCfgGoods(shopid, goodsId);
                if (goods == null) {//商品id没找到，或者销售状态不为1都跳过
                    continue;
                }
                //花费列表
                List<IdNum> costList = goods.getCost() != null ? goods.getCost() : new ArrayList<>();
                //奖励列表
                List<IdNum> rewardList = goods.getReward() != null ? goods.getReward() : new ArrayList<>();
                if (costList.size() == 1 && rewardList.size() == 1) {
                    IdNum costIdNum = costList.get(0);
                    IdNum rewardIdNum = rewardList.get(0);
                    String costId = costIdNum.getId();
                    String rewardId = rewardIdNum.getId();
                    String costName = Consts.Item.nameById(costId);
                    String rewardName = Consts.Item.nameById(rewardId);
                    Long costNum = costIdNum.getNum() != null ? costIdNum.getNum() : 0;
                    Long rewardNum = rewardIdNum.getNum() != null ? rewardIdNum.getNum() : 0;
                    String sale = Consts.SaleState.nameById(salestate);
                    String format = String.format("[%s%s]\t\t可买\t\t[%s%s]状态:%s%n", costNum, costName, rewardNum, rewardName, sale);
                    subSb.append(format);
                }
            }
            System.out.printf("可刷新的商品如下:%n" + subSb);
        }
    }


    public static void cmd1179655_RpcServerMissionRefresh(Channel channel,WZDJPack wzdjPack
            ,RpcServerMissionRefresh rpcServerMissionRefresh) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310721_RpcServerFighterList(Channel channel,WZDJPack wzdjPack
            ,RpcServerFighterList rpcServerFighterList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441795_RpcClientFightRoomCreate(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightRoomCreate rpcClientFightRoomCreate) {
        log.info(wzdjPack.toString());
        if (rpcClientFightRoomCreate.getStatus() == 1) {
            String roomNum = rpcClientFightRoomCreate.getToken() != null ? rpcClientFightRoomCreate.getToken() : "错误";
            int roomNumType = rpcClientFightRoomCreate.getType() != null ? rpcClientFightRoomCreate.getType() : -1;
            Stores.getInstance().setRoomNum(roomNum);
            Stores.getInstance().setRoomNumType(roomNumType);
            if (roomNumType == 1) {
                WZDJMainFrame.consoleTextArea.append(String.format("创建[合作]房间号:%s%n", roomNum));
            } else if (roomNumType == 4) {
                WZDJMainFrame.consoleTextArea.append(String.format("创建[竞技]房间号:%s%n", roomNum));
            }
        } else {
            log.info("创建房间失败status:" + rpcClientFightRoomCreate.getStatus());
        }
    }
    public static void cmd1507330_RpcClientRelicList(Channel channel,WZDJPack wzdjPack
            ,RpcClientRelicList rpcClientRelicList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703951_RpcServerFriendReadBeApplyFriends(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendReadBeApplyFriends rpcServerFriendReadBeApplyFriends) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1835017_RpcServerChatHistory(Channel channel,WZDJPack wzdjPack
            ,RpcServerChatHistory rpcServerChatHistory) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900552_RpcServerTotalSignInReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerTotalSignInReward rpcServerTotalSignInReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1245189_RpcServerAdvertBegin(Channel channel,WZDJPack wzdjPack
            ,RpcServerAdvertBegin rpcServerAdvertBegin) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655388_RpcServerUserFrameList(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserFrameList rpcServerUserFrameList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1114119_RpcClientShopDel(Channel channel,WZDJPack wzdjPack
            ,RpcClientShopDel rpcClientShopDel) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1179652_RpcClientMissionDelete(Channel channel,WZDJPack wzdjPack
            ,RpcClientMissionDelete rpcClientMissionDelete) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310722_RpcClientFighterList(Channel channel,WZDJPack wzdjPack
            ,RpcClientFighterList rpcClientFighterList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1376259_RpcServerPassportNormalReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerPassportNormalReward rpcServerPassportNormalReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1507329_RpcServerRelicList(Channel channel,WZDJPack wzdjPack
            ,RpcServerRelicList rpcServerRelicList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703948_RpcServerFriendDel(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendDel rpcServerFriendDel) {
        log.info(wzdjPack.toString());
        log.info("响应删除好友:{}", rpcServerFriendDel.getTargetuid());
    }
    public static void cmd1835018_RpcClientChatHistory(Channel channel,WZDJPack wzdjPack
            ,RpcClientChatHistory rpcClientChatHistory) {
//        log.info(wzdjPack.toString());
        //历史聊天记录

        //chattype==2 的时候 是大厅内好友聊天
        //{"channel":13330497,"chattype":2,"results":[{"content":"删我干啥","msgid":2,"senderuser":{"avatar":"uhi_1005","exp":42188,"frame":"uhf_1","lv":15,"name":"小胖子","uid":13330497},"ts":1733278464,"type":1}]}

    }
    public static void cmd1900555_RpcClientDailyFortuneRefresh(Channel channel,WZDJPack wzdjPack
            ,RpcClientDailyFortuneRefresh rpcClientDailyFortuneRefresh) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310723_RpcServerOneFighter(Channel channel,WZDJPack wzdjPack
            ,RpcServerOneFighter rpcServerOneFighter) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655389_RpcClientUserFrameList(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserFrameList rpcClientUserFrameList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1179653_RpcServerMissionComplete(Channel channel,WZDJPack wzdjPack
            ,RpcServerMissionComplete rpcServerMissionComplete) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1245188_RpcClientAdvertFreeTime(Channel channel,WZDJPack wzdjPack
            ,RpcClientAdvertFreeTime rpcClientAdvertFreeTime) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1376258_RpcClientPassportInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientPassportInfo rpcClientPassportInfo) {
        log.info(wzdjPack.toString());
        PassportInfo info = rpcClientPassportInfo.getInfo();
        int season = info.getSeason()!= null ? info.getSeason() : 0;//赛季
        int lv = info.getLv() != null ? info.getLv() : 0;//等级
        int exp = info.getExp()!=null ? info.getExp() : 0;//经验
        Integer passtype = info.getPasstype() != null ? info.getPasstype() : 0;//类型
        Integer rewardid = info.getRewardid() != null ? info.getRewardid() : 0;//奖励id
        Long timeleft = info.getTimeleft() != null ? info.getTimeleft() : 0;
        String timeStr = timeleft > 0 ? DateUtils.secondToTime(timeleft) : "长期";
        List<Integer> normalreward = info.getNormalreward()!= null ? info.getNormalreward() : new ArrayList<>();
        List<Integer> luxuryreward = info.getLuxuryreward()!= null ? info.getLuxuryreward() : new ArrayList<>();
//        StringBuilder sb = new StringBuilder();
//        sb.append("通行证 ").append(String.format("第%s赛季,最高50级,当前%s级,经验:%s,类型:%s,奖励:%s,结束时间:%s  ",
//                season, lv, exp, passtype, rewardid, timeStr)).append("\n");
//        sb.append("正常列表:").append(JSON.toJSONString(normalreward)).append("\n");
//        sb.append("晋级列表:").append(JSON.toJSONString(luxuryreward)).append("\n");
//        log.info(sb);
//        WZDJMainFrame.consoleTextArea.append(sb.toString());
    }
    public static void cmd1441793_RpcServerFightMatch(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightMatch rpcServerFightMatch) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703949_RpcClientFriendDel(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendDel rpcClientFriendDel) {
        log.info(wzdjPack.toString());
        log.info("请求删除好友:{}", rpcClientFriendDel.getTargetuid());
    }
    public static void cmd1835019_RpcClientDeleteUserChat(Channel channel,WZDJPack wzdjPack
            ,RpcClientDeleteUserChat rpcClientDeleteUserChat) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900554_RpcServerDailyFortuneRefresh(Channel channel,WZDJPack wzdjPack
            ,RpcServerDailyFortuneRefresh rpcServerDailyFortuneRefresh) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310732_RpcServerFighterSkinSwitch(Channel channel,WZDJPack wzdjPack
            ,RpcServerFighterSkinSwitch rpcServerFighterSkinSwitch) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655378_RpcServerUserActivationCode(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserActivationCode rpcServerUserActivationCode) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1114121_RpcClientShopMultiDiamondInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientShopMultiDiamondInfo rpcClientShopMultiDiamondInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1179658_RpcClientDailyMissionPointReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientDailyMissionPointReward rpcClientDailyMissionPointReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441806_RpcClientStageInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientStageInfo rpcClientStageInfo) {
        log.info(wzdjPack.toString());

        //舞台奖励 不知道咋判断的，可能不是这个协议。
        List<StageRewardData> coopList = rpcClientStageInfo.getCoop();
        coopList.sort((o1, o2) -> o2.getStage() - o1.getStage());//排序
        List<StageRewardData> coophardList = rpcClientStageInfo.getCoophard();
        coophardList.sort((o1, o2) -> o2.getStage() - o1.getStage());//排序
        StringBuilder sb = new StringBuilder();
        sb.append("场景battleType:").append(rpcClientStageInfo.getBattletype()).append("\n");
        sb.append("场景数量:").append(coopList.size()).append("----------------------------").append("\n");
        for (StageRewardData stage : coopList) {
            sb.append(String.format("场景:%s,通关状态:%s%n",
                    stage.getStage(), JSON.toJSONString(stage.getStatus())));
        }
        sb.append("Hard场景数量:").append(coopList.size()).append("----------------------------").append("\n");
        for (StageRewardData stage : coophardList) {
            sb.append(String.format("场景:%s,通关状态:%s%n",
                    stage.getStage(), JSON.toJSONString(stage.getStatus())));
        }
//        log.info(sb);
    }
    public static void cmd1638401_RpcServerAchieveInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerAchieveInfo rpcServerAchieveInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703938_RpcClientFriendInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendInfo rpcClientFriendInfo) {
        //log.info(wzdjPack.toString());
        //[1703938,RpcClientFriendInfo,RpcClientFriendInfo,11.01KB]:{"info":{"beapplys":[],"myfriends":[{"allowspectate":true,"ts":1737630146,"userinfo":{"avatar":"uhi_1023","exp":250132,"frame":"uhf_9","lv":18,"name":"王者y","uid":11083177}},{"allowspectate":true,"status":2,"ts":1739010707,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/6NlT9ONTT8g2V1DHhmMYKRAg72ibrg1OWxDcD4HB4Aegic0ricNuuBIAzU7Gm7dCwib6ENDJcuSYSOKaOoDvd9k0baQ0gP1g4ehFmmmzD9ltjsk/132","bmc":true,"danid":16,"danstar":4,"exp":803349,"frame":"uhf_22","lv":20,"mc":true,"name":"留香","uid":13099971}},{"allowspectate":true,"ts":1737291663,"userinfo":{"avatar":"uhi_1019","exp":43530,"frame":"uhf_1","lv":14,"name":"开局出金","uid":10924460}},{"allowspectate":true,"ts":1728489297,"userinfo":{"avatar":"uhi_1012","exp":85775,"frame":"uhf_1","lv":14,"name":"Modcaelum","uid":11557562}},{"allowspectate":true,"ts":1733074719,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/PiajxSqBRaEKOM9UqibLOugZPiadUjiaJM9Iia9sa54ZDHmvnut5auFicpszBKXJcr5BDCxpoN1vTeUaSGcfdcQ6gk1V3ricaYkjAWuiaI6stIbkdEOcwmrw59BqSg/132","exp":51445,"frame":"uhf_1","lv":16,"name":"软软小胖子","uid":12309172}},{"allowspectate":true,"ts":1732609609,"userinfo":{"avatar":"uhi_1013","exp":20135,"frame":"uhf_1","lv":14,"name":"Welss_Luo","uid":11099320}},{"allowspectate":true,"ts":1738717907,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/5wibRsv0EqqkWfVjekotDDDGfa99ibrFyeWeFz4VNCic0vWH0YMyqaH4HVS0DZvFoXs6qECKF3JNyKr33pFgWiapydcic2Jr5w2FOcCAtibHFZelI/132","exp":54225,"frame":"uhf_3","lv":15,"name":"随便吧","uid":10672563}},{"allowspectate":true,"ts":1726773118,"userinfo":{"avatar":"uhi_1001","exp":740,"frame":"uhf_1","lv":11,"name":"棉总小弟","uid":11704998}},{"allowspectate":true,"ts":1729628138,"userinfo":{"avatar":"uhi_1013","exp":23240,"frame":"uhf_1","lv":12,"name":"漆东宝","uid":12329888}},{"allowspectate":true,"ts":1729932355,"userinfo":{"avatar":"uhi_1029","exp":22235,"frame":"uhf_3","lv":14,"name":"雅木茶","uid":12303781}},{"allowspectate":true,"ts":1736182418,"userinfo":{"avatar":"uhi_1018","exp":108430,"frame":"uhf_1","lv":15,"name":"摸zz","uid":11773073}},{"allowspectate":true,"ts":1730950041,"userinfo":{"avatar":"uhi_1020","exp":26545,"frame":"uhf_1","lv":13,"name":"生气的猪柳蛋","uid":12144027}},{"allowspectate":true,"ts":1728016500,"userinfo":{"avatar":"uhi_1013","exp":26670,"frame":"uhf_1","lv":14,"name":"白嫖躺平","uid":11162505}},{"ts":1738949411,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTIib8YZ5NJ4buI4NmZjBeusmUc1g04v0Gkd0gZ3h6xPMqmfd9xZia4tIYfmHJvQ65HGDZA6WLGFEicIw/132","bmc":true,"danid":6,"danstar":1,"exp":114354,"frame":"uhf_1","lv":15,"name":"王者#8035","uid":11878035}},{"allowspectate":true,"ts":1734252862,"userinfo":{"avatar":"uhi_1019","exp":38710,"frame":"uhf_1","lv":16,"name":"开局必出金","uid":10012607}},{"allowspectate":true,"ts":1729041031,"userinfo":{"avatar":"uhi_1016","exp":58790,"frame":"uhf_3","lv":16,"name":"加速求带","uid":12394138}},{"allowspectate":true,"ts":1737275634,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/CcmRe2pSGTftIKo5Guib7yxjybZXzibZMZqNarlxbZ3sNrKZOiarALHzn26CcbztBuKbCSRao4HOeqdUFtETRZqyrEnXKEIOpiaUAJvjTwm0TyQ/132","exp":23330,"frame":"uhf_1","lv":16,"name":"我该上班了","uid":10514570}},{"allowspectate":true,"ts":1729561577,"userinfo":{"avatar":"uhi_1003","exp":15855,"frame":"uhf_3","lv":13,"name":"刘佳靖","uid":12145554}},{"allowspectate":true,"ts":1727825126,"userinfo":{"avatar":"uhi_1026","exp":59025,"frame":"uhf_1","lv":13,"name":"八级小狂风","uid":12241557}},{"allowspectate":true,"ts":1733198777,"userinfo":{"avatar":"uhi_1032","exp":127525,"frame":"uhf_1","lv":16,"name":"挂机S麻","uid":12340883}},{"allowspectate":true,"ts":1730252400,"userinfo":{"avatar":"uhi_1032","exp":14540,"frame":"uhf_1","lv":14,"name":"二九","uid":11719555}},{"allowspectate":true,"ts":1738990294,"userinfo":{"avatar":"uhi_102","danid":6,"danstar":3,"exp":288485,"frame":"uhf_8","lv":17,"name":"天天吃饭揍人","uid":10279086}},{"allowspectate":true,"ts":1727656869,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/ctAyibMcGO4cl9JPG3YfqpickJKsf8t4KJWCnLIchdqKvlGSpiaXceeR4jyBxM1vhexYfAOtOkRFtmS69Riblliasdibtor95awJx9dzIldphrWYo/132","exp":22860,"frame":"uhf_1","lv":11,"name":"艺伽口才周夏雨","uid":11952770}},{"allowspectate":true,"ts":1738975365,"userinfo":{"avatar":"uhi_102","danid":10,"danstar":2,"exp":40906,"frame":"uhf_201","lv":20,"name":"五彩斑斓的黑","uid":12581512}},{"allowspectate":true,"ts":1728699844,"userinfo":{"avatar":"uhi_1032","exp":77650,"frame":"uhf_3","lv":14,"name":"阿泉","uid":12321157}},{"allowspectate":true,"ts":1727757859,"userinfo":{"avatar":"uhi_1001","exp":11680,"frame":"uhf_1","lv":10,"name":"可鲁可鸭","uid":12346496}},{"allowspectate":true,"ts":1731674907,"userinfo":{"avatar":"uhi_1032","exp":55290,"frame":"uhf_3","lv":16,"name":"温文尔雅","uid":11212949}},{"allowspectate":true,"ts":1738999509,"userinfo":{"avatar":"uhi_1036","danid":8,"danstar":2,"exp":257945,"frame":"uhf_201","lv":19,"name":"刘朋","uid":12036087}},{"allowspectate":true,"ts":1728909081,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/ia9JP3bYdNeYqshsYdeWmT6QbHyqgQAlFjiaJzGPtyceo4B22ctZXDbSfzhXXuianqpibg9bSYlkd1tiaDMYx6AKYopIGI15hXAticWmlFJjyTbG8/132","exp":93525,"frame":"uhf_1","lv":15,"name":"小毅","uid":11211759}},{"ts":1739005516,"userinfo":{"avatar":"uhi_1021","bmc":true,"danid":1,"danstar":1,"exp":87294,"frame":"uhf_9","lv":17,"name":"花椒不花","uid":11783675}},{"ts":1738908972,"userinfo":{"avatar":"uhi_1001","exp":34130,"frame":"uhf_1","lv":14,"name":"王者#7989","uid":11317989}},{"allowspectate":true,"ts":1733450676,"userinfo":{"avatar":"uhi_1029","exp":25719,"frame":"uhf_1","lv":12,"name":"杨躲躲丶","uid":12359664}},{"allowspectate":true,"ts":1727271379,"userinfo":{"avatar":"uhi_1005","exp":16450,"frame":"uhf_1","lv":12,"name":"纸片人","uid":11884536}},{"allowspectate":true,"ts":1739004386,"userinfo":{"avatar":"uhi_1041","bmc":true,"danid":21,"danstar":3,"exp":349967,"frame":"uhf_21","lv":20,"mc":true,"name":"囍樂門丶大金","uid":11149818}},{"allowspectate":true,"ts":1731340205,"userinfo":{"avatar":"uhi_1016","exp":27200,"frame":"uhf_1","lv":15,"name":"我嘞个","uid":11545060}},{"allowspectate":true,"status":2,"ts":1739023599,"userinfo":{"avatar":"uhi_1019","exp":293396,"frame":"uhf_9","lv":17,"name":"浪浪浪","uid":10198478}},{"allowspectate":true,"ts":1737938610,"userinfo":{"avatar":"uhi_1023","danid":1,"danstar":3,"exp":399243,"frame":"uhf_7","lv":18,"name":"芍药蛋","uid":11364088}},{"allowspectate":true,"ts":1732380948,"userinfo":{"avatar":"uhi_1026","exp":23565,"frame":"uhf_1","lv":14,"name":"胡湖糊","uid":11793894}},{"allowspectate":true,"ts":1734189938,"userinfo":{"avatar":"uhi_1039","exp":188555,"frame":"uhf_1","lv":16,"name":"王雨军","uid":11676132}},{"allowspectate":true,"ts":1729160653,"userinfo":{"avatar":"uhi_1003","exp":86590,"frame":"uhf_2","lv":14,"name":"飞天遁地","uid":11529718}},{"allowspectate":true,"ts":1727443638,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/lU8YicrJrCGYyokqBKM3BP34egbXDyscEECfj9Salh6kGD3yg3DJqewbGHmiaEWB9ic16v6qPR0nNNGo0uBfYSgKWDvB9dEZEQibmHVCTT2N9KE/132","exp":53190,"frame":"uhf_1","lv":14,"name":"殊谈","uid":11797743}},{"allowspectate":true,"ts":1729814525,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/bE2JLEsFtpQu8SAcTLRzYbQ5D1qrGPBMKfQXxLrjGj2BPGwW6CZtAAWu5CvOeu3fbUlzRzicTSicTnAW1hfrR0YH82moWvEcMMTiaWyw2xiahwY/132","exp":16100,"frame":"uhf_1","lv":10,"name":"水族馆鳐鱼","uid":12247771}},{"allowspectate":true,"ts":1731212236,"userinfo":{"avatar":"uhi_1001","exp":3010,"frame":"uhf_10007","lv":16,"name":"随便玩玩","uid":11275465}},{"allowspectate":true,"ts":1729515528,"userinfo":{"avatar":"uhi_1013","exp":10300,"frame":"uhf_1","lv":14,"name":"超级加速","uid":11985616}},{"allowspectate":true,"ts":1729515801,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/UNrT1CT6PvkiaydJq2TiaYmqDcicBa9mFw2ic71DaibJ26mHGIDwxRfg5DlK0ReeLicK12dicnmNeENl0kpNzqYrgslvw/132","exp":58705,"frame":"uhf_1","lv":14,"name":"王者#8266","uid":11778266}},{"allowspectate":true,"ts":1729008680,"userinfo":{"avatar":"uhi_1001","exp":29910,"frame":"uhf_1","lv":15,"name":"大邪","uid":10754248}},{"allowspectate":true,"ts":1727796571,"userinfo":{"avatar":"uhi_1009","exp":25410,"frame":"uhf_1","lv":11,"name":"小白菜","uid":12072663}},{"allowspectate":true,"ts":1727794095,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/YOlfyyZt3ZLL9ib3pPia5IjcsYxGmALDk8xFIGUAicpZLIZsYibaibtH8T2pxMkpdqIGKZpPhFwpVm1DFBvAtxh2Wkw/132","exp":34490,"frame":"uhf_1","lv":13,"name":"直接拉有加速","uid":12068811}},{"allowspectate":true,"ts":1726670578,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/FsKSJc8GmSDR0gf3Ob1fGI7LdoMibRa1kEvMgKicLjoxLNPYkdvp8HoDyt7NXsK3WUDW5iaAiaZLqlj1EiaFxsmvIq083h4En0tHc1ygVVxyZL50/132","exp":11990,"frame":"uhf_1","lv":11,"name":"青禾iuao","uid":11823296}},{"allowspectate":true,"ts":1736597047,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/o33SoQ72YOpQgbo2RoSwTe9VXazibeadicN2AIcXHshtDKricRKWu7iaPytgELKPKhrriaicS0qbmvmb8lIcJmUjyjonSIZWickeqlKL5wbg8IeSwo/132","exp":34370,"frame":"uhf_1","lv":13,"name":"不厌","uid":10918609}},{"allowspectate":true,"ts":1735484272,"userinfo":{"avatar":"uhi_1012","exp":4640,"frame":"uhf_1","lv":14,"name":"菜鸟互啄","uid":12225987}},{"allowspectate":true,"ts":1728286222,"userinfo":{"avatar":"uhi_1001","exp":38730,"frame":"uhf_1","lv":13,"name":"自行车","uid":11812815}},{"allowspectate":true,"ts":1737086201,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTL1Jz3oKyJicGaBxELSmHkLa4GoWvSYzCYQYcDsibdbq5x98zfpce7X3cGs9eng6ia8slOzqv7ChjD0w/132","bmc":true,"exp":80180,"frame":"uhf_1","lv":15,"name":"onlysky","uid":10206176}},{"allowspectate":true,"ts":1738887386,"userinfo":{"avatar":"uhi_1021","bmc":true,"exp":73028,"frame":"uhf_7","lv":17,"mc":true,"name":"看对面阵容","uid":11443667}},{"allowspectate":true,"ts":1739024652,"userinfo":{"avatar":"uhi_1001","danid":1,"danstar":2,"exp":12684,"frame":"uhf_1","lv":15,"name":"勇敢士兵#9165","uid":14499165}},{"allowspectate":true,"ts":1727783335,"userinfo":{"avatar":"uhi_1018","exp":8650,"frame":"uhf_1","lv":16,"name":"木子李","uid":10128664}},{"allowspectate":true,"ts":1730279122,"userinfo":{"avatar":"uhi_1003","exp":20170,"frame":"uhf_1","lv":15,"name":"纪年应许","uid":10015514}},{"allowspectate":true,"ts":1728305206,"userinfo":{"avatar":"uhi_1029","exp":48785,"frame":"uhf_3","lv":15,"name":"迂回","uid":12029748}},{"allowspectate":true,"ts":1728433377,"userinfo":{"avatar":"uhi_1001","exp":26360,"frame":"uhf_1","lv":12,"name":"二波一","uid":12102459}},{"allowspectate":true,"ts":1729949639,"userinfo":{"avatar":"uhi_1013","exp":20000,"frame":"uhf_1","lv":12,"name":"朋友","uid":10392343}},{"allowspectate":true,"status":1,"ts":1739025381,"userinfo":{"avatar":"uhi_1002","danid":4,"danstar":2,"exp":366301,"frame":"uhf_1","lv":20,"name":"小胖子","uid":13330497}},{"allowspectate":true,"ts":1729684731,"userinfo":{"avatar":"uhi_1018","exp":43750,"frame":"uhf_1","lv":14,"name":"青灯不归客","uid":11968036}},{"allowspectate":true,"ts":1727229470,"userinfo":{"avatar":"uhi_1009","exp":49055,"frame":"uhf_1","lv":15,"name":"运气王#0375","uid":11630375}},{"allowspectate":true,"ts":1736816206,"userinfo":{"avatar":"uhi_1040","danid":3,"danstar":1,"exp":265326,"frame":"uhf_1","lv":18,"name":"坐等80后","uid":11502648}},{"allowspectate":true,"ts":1730104452,"userinfo":{"avatar":"uhi_1003","exp":65740,"frame":"uhf_1","lv":14,"name":"酸臭柠檬","uid":10768956}},{"allowspectate":true,"ts":1737705872,"userinfo":{"avatar":"uhi_1004","exp":8300,"frame":"uhf_1","lv":9,"name":"勇敢士兵#3097","uid":10583097}},{"allowspectate":true,"ts":1738932163,"userinfo":{"avatar":"uhi_1016","exp":88730,"frame":"uhf_1","lv":14,"name":"重生开局孙悟空","uid":10951486}},{"allowspectate":true,"ts":1738976858,"userinfo":{"avatar":"uhi_102","danid":3,"danstar":4,"exp":12250,"frame":"uhf_201","lv":19,"name":"yuki铭月欲","uid":12524581}},{"allowspectate":true,"ts":1730195130,"userinfo":{"avatar":"uhi_1026","exp":22825,"frame":"uhf_1","lv":13,"name":"神经蛙","uid":10997820}},{"allowspectate":true,"ts":1728208319,"userinfo":{"avatar":"uhi_1016","exp":36880,"frame":"uhf_1","lv":17,"name":"幸运儿","uid":10105094}},{"allowspectate":true,"ts":1738996171,"userinfo":{"avatar":"uhi_1019","bmc":true,"danstar":2,"exp":93839,"frame":"uhf_7","lv":18,"name":"叫声姐姐就带你","uid":12946265}},{"allowspectate":true,"ts":1727938833,"userinfo":{"avatar":"uhi_1009","exp":38235,"frame":"uhf_1","lv":15,"name":"王者#4172","uid":11664172}},{"allowspectate":true,"ts":1739006536,"userinfo":{"avatar":"uhi_1009","exp":76740,"frame":"uhf_1","lv":17,"name":"天雪","uid":11004985}},{"allowspectate":true,"ts":1729045633,"userinfo":{"avatar":"uhi_1032","exp":30760,"frame":"uhf_1","lv":12,"name":"火锅城","uid":12404259}},{"allowspectate":true,"ts":1734831265,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/PRoxTANhxVbXicjSUlZ15owfCibngWLnicH9wcxrYEXicHktftOGD0EMnYtvFt6hyiaibtWpibnUBfHicL1Agy15hTj1ibxrlqNWQXSOYSicwM7VH5q4o/132","exp":99350,"frame":"uhf_1","lv":16,"name":"嘔奈稞","uid":10690307}},{"allowspectate":true,"ts":1733071392,"userinfo":{"avatar":"uhi_1026","exp":29695,"frame":"uhf_1","lv":13,"name":"安逸","uid":11946261}},{"allowspectate":true,"ts":1733439218,"userinfo":{"avatar":"uhi_1016","exp":48850,"frame":"uhf_1","lv":13,"name":"三才无量","uid":11343366}},{"allowspectate":true,"ts":1731946354,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/LibPVIdpSIh6FVMibyjs0xcdYicvicRRwM5UtHydAB7eBFe6oadeytRzXaJibxhg5Onbib4Gticghw1y8KA6XETYyEQOn7SbKDYEfKdMcIovyDZkicE/132","exp":84805,"frame":"uhf_1","lv":15,"name":"我们的时代","uid":11927835}},{"allowspectate":true,"ts":1733507836,"userinfo":{"avatar":"uhi_1027","exp":28390,"frame":"uhf_1","lv":15,"name":"天之运","uid":12214295}},{"allowspectate":true,"ts":1734141234,"userinfo":{"avatar":"uhi_1027","exp":113540,"frame":"uhf_1","lv":15,"name":"全凭运气","uid":12661871}},{"allowspectate":true,"ts":1728653004,"userinfo":{"avatar":"uhi_1016","exp":61620,"frame":"uhf_1","lv":15,"name":"丐帮帮主","uid":10649618}},{"allowspectate":true,"ts":1737149006,"userinfo":{"avatar":"uhi_1018","exp":53530,"frame":"uhf_1","lv":14,"name":"幸运玩家#8936","uid":10128936}},{"allowspectate":true,"ts":1731695510,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/IpMmSQf9QwiaYZBp0F6fk98ZFzdyfqgF7kGc1TD5M2K22S2yDqHEEErOibWc7iaQKT0Xe4hRpVrhMQN8oOI75ibU1w/132","exp":83910,"frame":"uhf_1","lv":17,"name":"Broken","uid":11788038}},{"allowspectate":true,"ts":1730410505,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/IujJKkcVyOLg1nd7UFwAueGBl0icgu6aDz44YX07495D0HXzByabKkxibcr39NaFIAQQ6LWhEVibFeWJvhVCkUxgw/132","exp":42770,"frame":"uhf_1","lv":14,"name":"海边的风","uid":10363689}},{"allowspectate":true,"ts":1727112917,"userinfo":{"avatar":"uhi_1005","exp":26440,"frame":"uhf_1","lv":13,"name":"我带加速","uid":11694347}},{"allowspectate":true,"ts":1739014768,"userinfo":{"avatar":"uhi_1036","bmc":true,"danid":10,"exp":298976,"frame":"uhf_1","lv":18,"mc":true,"name":"七号","uid":12939900}},{"allowspectate":true,"ts":1729318929,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/dDRmRDTo6MWAFMdV6ro6ibCatAe6dAK5r32NpLAiad6sKBa4EI2oiatlibfXeauRHYFz1tWRhUSo4hibiaYgR7NcwicWG9jJ2ZSnsJE7RpLJnrS40U/132","exp":78160,"frame":"uhf_3","lv":14,"name":"月绮旎","uid":12300545}},{"ts":1739026559,"userinfo":{"avatar":"uhi_1039","danid":10,"danstar":3,"exp":1020995,"frame":"uhf_3","lv":20,"name":"氟西汀","uid":11595530}},{"allowspectate":true,"ts":1733648336,"userinfo":{"avatar":"uhi_1032","exp":12115,"frame":"uhf_1","lv":16,"name":"方鵟鵟","uid":10881818}},{"allowspectate":true,"ts":1730163231,"userinfo":{"avatar":"uhi_1032","exp":12795,"frame":"uhf_1","lv":15,"name":"徐凤年","uid":12229895}},{"allowspectate":true,"ts":1729481839,"userinfo":{"avatar":"uhi_1003","exp":1590,"frame":"uhf_1","lv":10,"name":"勇敢士兵#7196","uid":12707196}},{"allowspectate":true,"ts":1735663156,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/759E9Ieq4Uy7E6LGxRH3ePX1NCibDdFrqWdwPkBaEbiaQkqOLHNCALaD0Ot27bribUtick0LOFXBoLoz7LwMKFAJd1VvP7QiboYp6cICNfgb8n4M/132","exp":10365,"frame":"uhf_1","lv":15,"name":"抑术家小鹿","uid":11098903}},{"allowspectate":true,"ts":1733468191,"userinfo":{"avatar":"uhi_1032","exp":17000,"frame":"uhf_1","lv":12,"name":"冷风","uid":12489472}},{"allowspectate":true,"ts":1728632494,"userinfo":{"avatar":"uhi_1001","exp":15230,"frame":"uhf_1","lv":10,"name":"加速战神","uid":12448637}},{"allowspectate":true,"ts":1728059864,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/XJOy9nCrQpqLNic8Ngib7vhKqz4eNU4WoPibNuK2M9WGbd0xZdOsE6GSE7lNXcpgGcCLHWsWnb9h2Hu6lw9aM3udL4GTybgI5RNRDj4OeEibJAo/132","exp":10770,"frame":"uhf_3","lv":12,"name":"王者#8440","uid":12408440}},{"allowspectate":true,"ts":1728309487,"userinfo":{"avatar":"uhi_1025","exp":23770,"frame":"uhf_1","lv":14,"name":"金德海朱","uid":10908513}},{"allowspectate":true,"ts":1738147030,"userinfo":{"avatar":"uhi_1002","exp":126610,"frame":"uhf_1","lv":17,"name":"青蛙大王","uid":10737772}},{"allowspectate":true,"ts":1727805258,"userinfo":{"avatar":"uhi_1001","exp":23060,"frame":"uhf_1","lv":13,"name":"大脑斧","uid":10676594}},{"allowspectate":true,"ts":1728706136,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/PiajxSqBRaEJW3ICqI3QGGL81ktPtG3FK95vj0GgJfLpcTTpTwkJDPbdI6NUWx1x7jatEaa3u8K5z26dfWSMBVmc38RFlzH0FiaN8MmdC7C7Egyb7yDJfj0A/132","exp":6420,"frame":"uhf_1","lv":11,"name":"皮杰","uid":11406719}},{"allowspectate":true,"ts":1729251929,"userinfo":{"avatar":"uhi_1026","exp":13560,"frame":"uhf_1","lv":14,"name":"茉濞圣手","uid":11674724}},{"allowspectate":true,"ts":1727350281,"userinfo":{"avatar":"uhi_1009","exp":12850,"frame":"uhf_1","lv":12,"name":"不会玩","uid":11976288}},{"allowspectate":true,"ts":1729521399,"userinfo":{"avatar":"uhi_1003","exp":44455,"frame":"uhf_1","lv":13,"name":"八级小狂风","uid":12190317}},{"allowspectate":true,"ts":1730624864,"userinfo":{"avatar":"uhi_1001","exp":18270,"frame":"uhf_3","lv":14,"name":"高峰","uid":10979967}},{"allowspectate":true,"ts":1728318250,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83eqD7goM3NZGb0Rxics3OSDliajgichmoPdw8wXfCc1bRWZghpqLBzUmYRr60K7wry0J8229z7y6icgMiaA/132","exp":64220,"frame":"uhf_1","lv":15,"name":"钭丶音皓首","uid":10918782}},{"allowspectate":true,"ts":1729584602,"userinfo":{"avatar":"uhi_1018","exp":86930,"frame":"uhf_1","lv":16,"name":"天黑黑","uid":11295860}},{"allowspectate":true,"ts":1738943120,"userinfo":{"avatar":"uhi_1029","bmc":true,"exp":82985,"frame":"uhf_3","lv":17,"name":"不想上班","uid":11606120}},{"allowspectate":true,"ts":1730109314,"userinfo":{"avatar":"uhi_1009","exp":7170,"frame":"uhf_1","lv":13,"name":"运气王#2663","uid":11212663}},{"allowspectate":true,"ts":1729583411,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/sfGD1gic7F4dFjfMmr8y0h1zt8UdK74l68kTnpvA8iaZH2SzmotKHllwCU4zqyiahdBpcHLwd4JnFMM5rPBiciazjUtU9iaaYicr7SEg61qpgGpHpA/132","exp":57275,"frame":"uhf_2","lv":15,"name":"廾卌","uid":10417987}},{"allowspectate":true,"ts":1727597779,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/PiajxSqBRaEJQ9K7PhaUMKewPicaibxUvSWK8R4icKcW1d24f8CZt8yDtPD3mme6ml05BUTAJyCiaHY1thbYgMt35oXLY2AgVr5ReicNib5hHJF5mA1TkeibPViaawg/132","exp":3950,"frame":"uhf_1","lv":12,"name":"指南针先生","uid":11779411}},{"allowspectate":true,"ts":1729520905,"userinfo":{"avatar":"uhi_1001","exp":4430,"frame":"uhf_1","lv":10,"name":"运气王#0355","uid":11670355}},{"allowspectate":true,"ts":1729502340,"userinfo":{"avatar":"uhi_1009","exp":23540,"frame":"uhf_1","lv":14,"name":"厕画爹","uid":11521611}},{"allowspectate":true,"ts":1727697987,"userinfo":{"avatar":"uhi_1001","exp":12030,"frame":"uhf_1","lv":10,"name":"陈平月","uid":12337752}},{"allowspectate":true,"ts":1737393740,"userinfo":{"avatar":"uhi_1018","exp":60920,"frame":"uhf_1","lv":15,"name":"幸运玩家#3776","uid":11933776}},{"allowspectate":true,"ts":1733795080,"userinfo":{"avatar":"uhi_1026","exp":106170,"frame":"uhf_3","lv":17,"name":"欧皇","uid":11357765}},{"allowspectate":true,"ts":1736385257,"userinfo":{"avatar":"uhi_1032","exp":42475,"frame":"uhf_1","lv":15,"name":"黑酋","uid":12142928}},{"allowspectate":true,"ts":1734952315,"userinfo":{"avatar":"uhi_1033","exp":127415,"frame":"uhf_3","lv":15,"name":"拉我速打清体","uid":12079443}},{"allowspectate":true,"ts":1732450632,"userinfo":{"avatar":"uhi_1005","exp":19720,"frame":"uhf_3","lv":13,"name":"stay","uid":12084819}},{"allowspectate":true,"ts":1729399597,"userinfo":{"avatar":"uhi_1005","exp":68215,"frame":"uhf_1","lv":15,"name":"哈哈哟","uid":12003928}},{"allowspectate":true,"ts":1737225256,"userinfo":{"avatar":"uhi_1011","exp":35556,"frame":"uhf_1","lv":15,"name":"悦耳爱吃糖葫芦","uid":10529359}},{"allowspectate":true,"ts":1738394724,"userinfo":{"avatar":"uhi_1005","exp":130360,"frame":"uhf_3","lv":15,"name":"幸运玩家#9437","uid":10639437}},{"allowspectate":true,"ts":1727358824,"userinfo":{"avatar":"uhi_1016","exp":2110,"frame":"uhf_1","lv":14,"name":"愿世界没有黑夜","uid":11565120}},{"allowspectate":true,"ts":1728956367,"userinfo":{"avatar":"uhi_1009","exp":36885,"frame":"uhf_1","lv":12,"name":"云笙","uid":11990598}},{"allowspectate":true,"ts":1729593916,"userinfo":{"avatar":"uhi_1009","exp":86790,"frame":"uhf_1","lv":15,"name":"周大怪","uid":10369134}},{"allowspectate":true,"ts":1731076349,"userinfo":{"avatar":"uhi_1020","exp":4320,"frame":"uhf_1","lv":14,"name":"一支穿云箭","uid":11564608}},{"allowspectate":true,"ts":1735217873,"userinfo":{"avatar":"uhi_1001","exp":1060,"frame":"uhf_1","lv":6,"name":"南极","uid":14108708}},{"allowspectate":true,"ts":1738672271,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/iaeaVFHJRiaxFBpiaZ6MdhgR8ABLVugPCDKTVvgwyP6k61bJJnA9yicnyOgxoakaUjnRzlfqWibEl3xz8zgDIHN6FoqqS5V1bjLMXRYRMLKPdib18/132","exp":34320,"frame":"uhf_1","lv":15,"name":"风和树里","uid":11314520}},{"allowspectate":true,"ts":1728448565,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/G1CHBnv0UZZbaq12cQseMMRO5bTibNzTB8cwian8le35fbib9VSB3pib4fWzz8h2MUwyrccZAAAFD3UiaOfvzpndkq3DtoJfKJwv8YKJZlIMKX6s/132","exp":76815,"frame":"uhf_1","lv":14,"name":"代号#5710","uid":12165710}},{"allowspectate":true,"ts":1727371594,"userinfo":{"avatar":"uhi_1005","exp":34745,"frame":"uhf_1","lv":15,"name":"王者#3100","uid":11243100}},{"allowspectate":true,"ts":1729875541,"userinfo":{"avatar":"uhi_1029","exp":81305,"frame":"uhf_1","lv":14,"name":"在线直接拉","uid":11437910}},{"allowspectate":true,"ts":1733303199,"userinfo":{"avatar":"uhi_1004","exp":90930,"frame":"uhf_3","lv":19,"name":"运气游戏","uid":10128482}},{"allowspectate":true,"ts":1730913764,"userinfo":{"avatar":"uhi_1018","exp":50440,"frame":"uhf_1","lv":15,"name":"孵不出龙蛋","uid":11444306}},{"allowspectate":true,"ts":1730110774,"userinfo":{"avatar":"uhi_1018","exp":20750,"frame":"uhf_1","lv":16,"name":"读着倒才b煞","uid":10417762}},{"allowspectate":true,"ts":1735212649,"userinfo":{"avatar":"uhi_1020","exp":189165,"frame":"uhf_1","lv":17,"name":"风火轮","uid":13209652}},{"allowspectate":true,"ts":1727572666,"userinfo":{"avatar":"https://thirdwx.qlogo.cn/mmopen/vi_32/XaXLQCFBeVGlicOMYdKFicpATIFu3IqsTwEMneeNz8AY809MUDmETeeIeQqYsSpJnibOaXd2NfFSNI0WMzFsGZHFrWtkw2dLxkKRcGjdiaLgc1o/132","exp":21750,"frame":"uhf_1","lv":12,"name":"老六","uid":11781964}}]}}

        /*  fixme 此处 为啥会去倒腾 好友列表 原因是像找到一种方式可以判 一个用户是否在线。目前。发现好像不太行。后续尝试用观战｜PK看看会不会返回不在线状态*/
        //获取到的好友信息
        FriendInfoAll info = rpcClientFriendInfo.getInfo() != null ? rpcClientFriendInfo.getInfo() : new FriendInfoAll();

        List<FriendInfo> beApplyList = info.getBeapplys() != null ? info.getBeapplys() : new ArrayList<>();//申请列表
        List<FriendInfo> myFriendList = info.getBeapplys() != null ? info.getMyfriends() : new ArrayList<>();//好友列表
        Stores.getInstance().setBeApplyList(beApplyList);
        Stores.getInstance().setMyFriendList(myFriendList);

    }
    public static void cmd1835012_RpcClientExitChatChannel(Channel channel,WZDJPack wzdjPack
            ,RpcClientExitChatChannel rpcClientExitChatChannel) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900549_RpcClientSignInAll(Channel channel,WZDJPack wzdjPack
            ,RpcClientSignInAll rpcClientSignInAll) {
//        log.info(wzdjPack.toString());
        WZDJService.signInAll(channel, rpcClientSignInAll);//每日签到
    }
    public static void cmd2031623_RpcServerDanRewardBatch(Channel channel,WZDJPack wzdjPack
            ,RpcServerDanRewardBatch rpcServerDanRewardBatch) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310733_RpcServerFighterRecruitAdvanced(Channel channel,WZDJPack wzdjPack
            ,RpcServerFighterRecruitAdvanced rpcServerFighterRecruitAdvanced) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655379_RpcClientEnterScene(Channel channel,WZDJPack wzdjPack
            ,RpcClientEnterScene rpcClientEnterScene) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1114120_RpcServerShopReadRed(Channel channel,WZDJPack wzdjPack
            ,RpcServerShopReadRed rpcServerShopReadRed) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1179659_RpcClientDailyMissionPointSync(Channel channel,WZDJPack wzdjPack
            ,RpcClientDailyMissionPointSync rpcClientDailyMissionPointSync) {
        log.info(wzdjPack.toString());
        if (rpcClientDailyMissionPointSync != null) {
            Integer point = rpcClientDailyMissionPointSync.getPoint() != null ? rpcClientDailyMissionPointSync.getPoint() : 0;
//            HashMap<Integer, Integer> hashMap = new HashMap<>();
//            List<DailyMissionPoint> dailymissionpoints = rpcClientDailyMissionPointSync.getDailymissionpoints();
//            for (DailyMissionPoint dailyMissionPoint : dailymissionpoints) {
//                hashMap.put(dailyMissionPoint.getIndex(), dailyMissionPoint.getReward() ? 1 : 0);
//            }
            log.info("每日探索_进度:{},状态:{}", point, JSON.toJSONString(rpcClientDailyMissionPointSync.getDailymissionpoints()));
            if (point > 20) {
                int index = point / 20;// 120 领取 6
                WZDJSender.rpcServerDailyMissionPointReward(index);
            }

        }
    }
    public static void cmd1441807_RpcClientFightCoopResult(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightCoopResult rpcClientFightCoopResult) {
        log.info(wzdjPack.toString());
        WZDJService.onFightResult(rpcClientFightCoopResult);
    }
    public static void cmd1572865_RpcClientCardInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientCardInfo rpcClientCardInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703939_RpcServerFriendSearchByUid(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendSearchByUid rpcServerFriendSearchByUid) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1769474_RpcClientRankInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientRankInfo rpcClientRankInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1835013_RpcServerChatSend(Channel channel,WZDJPack wzdjPack
            ,RpcServerChatSend rpcServerChatSend) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900548_RpcServerSignInInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerSignInInfo rpcServerSignInInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2031622_RpcClientDanLuxuryReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientDanLuxuryReward rpcClientDanLuxuryReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655376_RpcServerUserView(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserView rpcServerUserView) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1179656_RpcClientMissionRefreshState(Channel channel,WZDJPack wzdjPack
            ,RpcClientMissionRefreshState rpcClientMissionRefreshState) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310734_RpcClientFighterRecruitAdvancedInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientFighterRecruitAdvancedInfo rpcClientFighterRecruitAdvancedInfo) {
        log.info(wzdjPack.toString());
        //高级战斗机抽奖进度 和 许愿战斗机
        //[1310734,RpcClientFighterRecruitAdvancedInfo,RpcClientFighterRecruitAdvancedInfo,22B]:{"progress":22,"wishfighter":"f_5019"}
    }
    public static void cmd1638403_RpcClientOneAchieveInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientOneAchieveInfo rpcClientOneAchieveInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1769473_RpcServerRankInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerRankInfo rpcServerRankInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1835014_RpcClientChatSend(Channel channel,WZDJPack wzdjPack
            ,RpcClientChatSend rpcClientChatSend) {
        WZDJService.onChatMessage(rpcClientChatSend);
    }
    public static void cmd1900551_RpcClientSignInReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientSignInReward rpcClientSignInReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2031621_RpcServerDanLuxuryReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerDanLuxuryReward rpcServerDanLuxuryReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1245192_RpcClientAdvertReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientAdvertReward rpcClientAdvertReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655377_RpcClientUserView(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserView rpcClientUserView) {
        log.info(wzdjPack.toString());

        String uBase = WZDJService.getUBase(rpcClientUserView.getViewinfo().getUserinfo());
        WZDJMainFrame.consoleTextArea.append(uBase + "\n");
        /*
        {
	"viewinfo": {
		"record": {
			"cleartimes": 2262,
			"hardclear": 10,
			"hardkill": 2930,
			"hardstage": 80,
			"maxdanid": 4,
			"maxdanstar": 3,
			"maxkill": 3020,
			"maxstage": 80,
			"nmkill": 2244,
			"nmstage": 64,
			"totaltimes": 387,
			"wintimes": 114
		},
		"userinfo": {
			"avatar": "uhi_1032",
			"danid": 4,
			"danstar": 3,
			"exp": 957928,
			"frame": "uhf_1",
			"lv": 20,
			"name": "大火yzs",
			"uid": 11308621
		}
	}
}
         */
    }
    public static void cmd1114122_RpcServerShopRefresh(Channel channel,WZDJPack wzdjPack
            ,RpcServerShopRefresh rpcServerShopRefresh) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1179657_RpcServerDailyMissionPointReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerDailyMissionPointReward rpcServerDailyMissionPointReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310735_RpcServerFighterRecruitProbInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerFighterRecruitProbInfo rpcServerFighterRecruitProbInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441805_RpcServerStageRewardGet(Channel channel,WZDJPack wzdjPack
            ,RpcServerStageRewardGet rpcServerStageRewardGet) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1638402_RpcClientAchieveInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientAchieveInfo rpcClientAchieveInfo) {
        log.info(wzdjPack.toString());
//        List<AchieveInfo> achievelist = rpcClientAchieveInfo.getAchievelist();
//        StringBuilder sb = new StringBuilder();
//        sb.append("成就数量:").append(achievelist.size()).append("----------------------------").append("\n");
//        for (AchieveInfo achieveInfo : achievelist) {
//            int id = achieveInfo.getAchieveid();
//            Long progress = achieveInfo.getProgress() != null ? achieveInfo.getProgress() : 0;
//            Integer stage = achieveInfo.getStage();
//            sb.append(String.format("id:%s,进度[%s],场景:%s%n", id, progress, stage));
//        }
//        log.info(sb);
    }
    public static void cmd1703937_RpcServerFriendInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendInfo rpcServerFriendInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1835015_RpcServerChatReport(Channel channel,WZDJPack wzdjPack
            ,RpcServerChatReport rpcServerChatReport) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900550_RpcServerSignInReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerSignInReward rpcServerSignInReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2031620_RpcClientDanNormalReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientDanNormalReward rpcClientDanNormalReward) {
        log.info(wzdjPack.toString());
        //给服务器发送一个Lv等级领取奖励后，会原样lv 就是返回这个协议。没啥实际作用，可用于响应处理一些逻辑

        //会先收到一个奖励协议，再收到本协议
        //[786434,RpcClientItemOne,RpcClientItemOne,26B]:{"item":{"amount":10,"itemid":"mine_key"}}

    }
    public static void cmd655382_RpcClientUserChangeAvatar(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserChangeAvatar rpcClientUserChangeAvatar) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310728_RpcClientFighterRecruit(Channel channel,WZDJPack wzdjPack
            ,RpcClientFighterRecruit rpcClientFighterRecruit) {
        log.info(wzdjPack.toString());
//        List<Integer> acquirelist = rpcClientFighterRecruit.getAcquirelist();
        List<RewardInfo> appearlist = rpcClientFighterRecruit.getAppearlist() != null ? rpcClientFighterRecruit.getAppearlist() : new ArrayList<>();
        StringBuilder sb = new StringBuilder();
        for (RewardInfo rewardInfo : appearlist) {
            String itemId = rewardInfo.getItemid() != null ? rewardInfo.getItemid() : "";
            long itemNum = rewardInfo.getAmount() != null ? rewardInfo.getAmount() : 0;
            boolean isNew = rewardInfo.getIsnew() != null ? rewardInfo.getIsnew() : false;
            String name = Consts.Fighter.nameById(itemId);
            sb.append(String.format("%s个%s%s,", itemNum, name, isNew ? "[新]" : ""));
        }
        log.info(sb.toString());//招募奖励
    }
    public static void cmd1376265_RpcClientPassportMultipleExpInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientPassportMultipleExpInfo rpcClientPassportMultipleExpInfo) {
        log.info(wzdjPack.toString());
    }
    //[1441802,RpcClientFightMatchSuccess,RpcClientFightMatchSuccess,181B]:{"players":[{"battlefieldskin":"sk_1","fighterskins":{},"userinfo":{"avatar":"uhi_1001","exp":410,"frame":"uhf_1","lv":4,"name":"代号#9705","uid":13589705}},{"battlefieldskin":"sk_1","fighterskins":{},"userinfo":{"avatar":"uhi_1001","exp":490,"frame":"uhf_1","lv":2,"name":"运气王#3649","uid":12493649}}],"server":{"ip":"wzdj.hnys68.cn","port":20321,"token":"6bd3f2c4-f961-4584-aee3-d2fb9f460eee"},"type":1}
    public static void cmd1441802_RpcClientFightMatchSuccess(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightMatchSuccess rpcClientFightMatchSuccess) {
        log.info(wzdjPack.toString());

        WZDJService.onFightMatchSuccess(rpcClientFightMatchSuccess);
    }
    public static void cmd1703942_RpcServerFriendApplyAdd(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendApplyAdd rpcServerFriendApplyAdd) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900545_RpcClientFirstPayGiftInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientFirstPayGiftInfo rpcClientFirstPayGiftInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1966082_RpcServerWelfareSubscription(Channel channel,WZDJPack wzdjPack
            ,RpcServerWelfareSubscription rpcServerWelfareSubscription) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2031619_RpcServerDanNormalReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerDanNormalReward rpcServerDanNormalReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655383_RpcServerUserAvatarList(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserAvatarList rpcServerUserAvatarList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310729_RpcServerFighterFirstBuy(Channel channel,WZDJPack wzdjPack
            ,RpcServerFighterFirstBuy rpcServerFighterFirstBuy) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1376264_RpcServerPassportRewardBatch(Channel channel,WZDJPack wzdjPack
            ,RpcServerPassportRewardBatch rpcServerPassportRewardBatch) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441803_RpcClientFightMatchFail(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightMatchFail rpcClientFightMatchFail) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703943_RpcClientFriendApplyAdd(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendApplyAdd rpcClientFriendApplyAdd) {
        log.info(wzdjPack.toString());
        //有人添加我为好友
        FriendInfo friendInfo = rpcClientFriendApplyAdd.getApply();
        Integer status = friendInfo.getStatus()!=null?rpcClientFriendApplyAdd.getApply().getStatus():0;//0:离线 1:在线
        Long ts = friendInfo.getTs();//最后离线时间
        BasicInfo basicInfo = friendInfo.getUserinfo();
        String uBase = WZDJService.getUBase(basicInfo);
        String time = DateUtil.formatDateTime(new Date(ts));
        String uInfo = time + " " + uBase + "申请加我%n";
        WZDJMainFrame.consoleTextArea.append(uInfo);

        ThreadUtil.sleep(1000);
        WZDJSender.rpcServerFriendReadBeApplyFriends();//读取好友请求列表
        ThreadUtil.sleep(1000);
        WZDJSender.rpcServerFriendAgreeBeApply();//一键同意所有好友请求
    }
    public static void cmd1835009_RpcServerEnterChatChannel(Channel channel,WZDJPack wzdjPack
            ,RpcServerEnterChatChannel rpcServerEnterChatChannel) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1966083_RpcServerWelfareUpdateWxGameCircleInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerWelfareUpdateWxGameCircleInfo rpcServerWelfareUpdateWxGameCircleInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2031618_RpcClientDanRewardInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientDanRewardInfo rpcClientDanRewardInfo) {
        log.info("Dan 奖励" + wzdjPack.toString());
        //Dan 奖励
//        Integer type = rpcClientDanRewardInfo.getType() != null ? rpcClientDanRewardInfo.getType() : 0;
//        List<Integer> normalreward = rpcClientDanRewardInfo.getNormalreward() != null ? rpcClientDanRewardInfo.getNormalreward() : new ArrayList<>();
//        List<Integer> luxuryreward = rpcClientDanRewardInfo.getLuxuryreward() != null ? rpcClientDanRewardInfo.getLuxuryreward() : new ArrayList<>();
//        StringBuilder sb = new StringBuilder();
//        sb.append("Dan ").append(String.format("类型:%s, ", type)).append("\n");
//        sb.append("正常列表:").append(JSON.toJSONString(normalreward)).append("\n");
//        sb.append("晋级列表:").append(JSON.toJSONString(luxuryreward)).append("\n");
//        log.info(sb);
    }
    public static void cmd655380_RpcClientUserLv(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserLv rpcClientUserLv) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1179660_RpcServerMissionTypeInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerMissionTypeInfo rpcServerMissionTypeInfo) {
        log.info(wzdjPack.toString());
    }

    public static void cmd1441800_RpcServerFightMatchCancel(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightMatchCancel rpcServerFightMatchCancel) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703940_RpcServerFriendSearchByName(Channel channel,WZDJPack wzdjPack
            ,RpcServerFriendSearchByName rpcServerFriendSearchByName) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1835010_RpcClientEnterChatChannel(Channel channel,WZDJPack wzdjPack
            ,RpcClientEnterChatChannel rpcClientEnterChatChannel) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900547_RpcClientFirstRechargeGiftAll(Channel channel,WZDJPack wzdjPack
            ,RpcClientFirstRechargeGiftAll rpcClientFirstRechargeGiftAll) {
//        log.info(wzdjPack.toString());
        //充值礼包
    }
    public static void cmd2031617_RpcClientDanInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientDanInfo rpcClientDanInfo) {
        log.info(wzdjPack.toString());
        //赛季积分

    }
    public static void cmd655381_RpcServerUserChangeAvatar(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserChangeAvatar rpcServerUserChangeAvatar) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1310731_RpcServerFighterLike(Channel channel,WZDJPack wzdjPack
            ,RpcServerFighterLike rpcServerFighterLike) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441801_RpcClientFightMatchCancel(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightMatchCancel rpcClientFightMatchCancel) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1703941_RpcClientFriendSearchByName(Channel channel,WZDJPack wzdjPack
            ,RpcClientFriendSearchByName rpcClientFriendSearchByName) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1835011_RpcServerExitChatChannel(Channel channel,WZDJPack wzdjPack
            ,RpcServerExitChatChannel rpcServerExitChatChannel) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900546_RpcServerFirstRechargeGiftGet(Channel channel,WZDJPack wzdjPack
            ,RpcServerFirstRechargeGiftGet rpcServerFirstRechargeGiftGet) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1966081_RpcServerWelfareMissionAddProgress(Channel channel,WZDJPack wzdjPack
            ,RpcServerWelfareMissionAddProgress rpcServerWelfareMissionAddProgress) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162689_RpcServerHeroActInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroActInfo rpcServerHeroActInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655402_RpcClientUserSkinAdd(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserSkinAdd rpcClientUserSkinAdd) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097153_RpcServerThemeActInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeActInfo rpcServerThemeActInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097154_RpcClientThemeActInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientThemeActInfo rpcClientThemeActInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162691_RpcServerHeroSubActInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroSubActInfo rpcServerHeroSubActInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655400_RpcServerUserSkinList(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserSkinList rpcServerUserSkinList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097155_RpcServerThemeSubActInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeSubActInfo rpcServerThemeSubActInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162690_RpcClientHeroActInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientHeroActInfo rpcClientHeroActInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655401_RpcClientUserSkinList(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserSkinList rpcClientUserSkinList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097156_RpcClientThemeSignActInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientThemeSignActInfo rpcClientThemeSignActInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162693_RpcServerHeroPassInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroPassInfo rpcServerHeroPassInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097157_RpcServerThemeSignActReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeSignActReward rpcServerThemeSignActReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162692_RpcClientHeroPassInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientHeroPassInfo rpcClientHeroPassInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097158_RpcServerThemeActGift(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeActGift rpcServerThemeActGift) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097159_RpcClientThemeActGift(Channel channel,WZDJPack wzdjPack
            ,RpcClientThemeActGift rpcClientThemeActGift) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162694_RpcServerHeroPassClaimReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroPassClaimReward rpcServerHeroPassClaimReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655394_RpcClientUserModuleGuide(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserModuleGuide rpcClientUserModuleGuide) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097160_RpcServerThemeActMission(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeActMission rpcServerThemeActMission) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162697_RpcClientHeroSignInInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientHeroSignInInfo rpcClientHeroSignInInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655395_RpcServerUserSetAvatarNameByAuth(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserSetAvatarNameByAuth rpcServerUserSetAvatarNameByAuth) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097161_RpcClientThemeActMission(Channel channel,WZDJPack wzdjPack
            ,RpcClientThemeActMission rpcClientThemeActMission) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162696_RpcServerHeroSignInInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroSignInInfo rpcServerHeroSignInInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655392_RpcClientUserNewbieGuide(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserNewbieGuide rpcClientUserNewbieGuide) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097162_RpcServerThemeContinuousCharge(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeContinuousCharge rpcServerThemeContinuousCharge) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162699_RpcClientHeroSignInReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientHeroSignInReward rpcClientHeroSignInReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655393_RpcServerUserModuleGuide(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserModuleGuide rpcServerUserModuleGuide) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097163_RpcClientThemeContinuousCharge(Channel channel,WZDJPack wzdjPack
            ,RpcClientThemeContinuousCharge rpcClientThemeContinuousCharge) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162698_RpcServerHeroSignInReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroSignInReward rpcServerHeroSignInReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097164_RpcServerThemeContinuousChargeBigReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeContinuousChargeBigReward rpcServerThemeContinuousChargeBigReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162701_RpcClientHeroTreasureHuntInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientHeroTreasureHuntInfo rpcClientHeroTreasureHuntInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655398_RpcServerUserChangeSkin(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserChangeSkin rpcServerUserChangeSkin) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097165_RpcClientThemePassInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientThemePassInfo rpcClientThemePassInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162700_RpcServerHeroTreasureHuntInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroTreasureHuntInfo rpcServerHeroTreasureHuntInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655399_RpcClientUserChangeSkin(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserChangeSkin rpcClientUserChangeSkin) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655396_RpcClientFighterSkinList(Channel channel,WZDJPack wzdjPack
            ,RpcClientFighterSkinList rpcClientFighterSkinList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097166_RpcServerThemePassInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemePassInfo rpcServerThemePassInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162703_RpcClientHeroTreasureHuntDraw(Channel channel,WZDJPack wzdjPack
            ,RpcClientHeroTreasureHuntDraw rpcClientHeroTreasureHuntDraw) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655397_RpcServerClearPvpRecord(Channel channel,WZDJPack wzdjPack
            ,RpcServerClearPvpRecord rpcServerClearPvpRecord) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097167_RpcServerThemePassClaimReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemePassClaimReward rpcServerThemePassClaimReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162702_RpcServerHeroTreasureHuntDraw(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroTreasureHuntDraw rpcServerHeroTreasureHuntDraw) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097168_RpcServerThemePassUpgrade(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemePassUpgrade rpcServerThemePassUpgrade) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162704_RpcServerHeroTreasureHuntLapReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroTreasureHuntLapReward rpcServerHeroTreasureHuntLapReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097169_RpcServerLightLampLotteryInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerLightLampLotteryInfo rpcServerLightLampLotteryInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097170_RpcClientLightLampLotteryInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientLightLampLotteryInfo rpcClientLightLampLotteryInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097171_RpcServerLightLampLottery(Channel channel,WZDJPack wzdjPack
            ,RpcServerLightLampLottery rpcServerLightLampLottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097172_RpcClientLightLampLottery(Channel channel,WZDJPack wzdjPack
            ,RpcClientLightLampLottery rpcClientLightLampLottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097173_RpcServerLightLampLotteryLineReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerLightLampLotteryLineReward rpcServerLightLampLotteryLineReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097174_RpcServerLightLampLotteryRowReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerLightLampLotteryRowReward rpcServerLightLampLotteryRowReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097175_RpcServerLightLampLotteryColReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerLightLampLotteryColReward rpcServerLightLampLotteryColReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536072_RpcServerFightFighterTeleportAll(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightFighterTeleportAll rpcServerFightFighterTeleportAll) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536073_RpcServerFightBossHardData(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightBossHardData rpcServerFightBossHardData) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536074_RpcClientFightBossHardData(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightBossHardData rpcClientFightBossHardData) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536075_RpcClientFightErrCode(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightErrCode rpcClientFightErrCode) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536077_RpcClientFightFighterTreasures(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightFighterTreasures rpcClientFightFighterTreasures) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536064_RpcClientFightLoginFinish(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightLoginFinish rpcClientFightLoginFinish) {
        log.info(wzdjPack.toString());
        //战斗服登录完成
        WZDJService.onFightLoginFinish(rpcClientFightLoginFinish);

//        //打印 场外协议 耗时统计信息
//        WZDJService.printTimeLog();
//        methodTimeMap.clear();
    }
    public static void cmd65536065_RpcServerFightNewbieNextWave(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightNewbieNextWave rpcServerFightNewbieNextWave) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536066_RpcClientFightNewbieNextWave(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightNewbieNextWave rpcClientFightNewbieNextWave) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536067_RpcClientFightBuffUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightBuffUpdate rpcClientFightBuffUpdate) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536068_RpcClientFightSkillEffect(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightSkillEffect rpcClientFightSkillEffect) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536069_RpcClientFightPlayerOnlineStatus(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightPlayerOnlineStatus rpcClientFightPlayerOnlineStatus) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536070_RpcServerFightFighterTeleport(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightFighterTeleport rpcServerFightFighterTeleport) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536071_RpcClientFightFighterTeleport(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightFighterTeleport rpcClientFightFighterTeleport) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536040_RpcClientFightCreateBullet(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightCreateBullet rpcClientFightCreateBullet) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536041_RpcClientFightHeal(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightHeal rpcClientFightHeal) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536042_RpcClientFightSkill(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightSkill rpcClientFightSkill) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536043_RpcServerFightMissionList(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightMissionList rpcServerFightMissionList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536044_RpcClientFightMissionList(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightMissionList rpcClientFightMissionList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536045_RpcClientFightMissionComplete(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightMissionComplete rpcClientFightMissionComplete) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536046_RpcServerFightPlayerStat(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightPlayerStat rpcServerFightPlayerStat) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536047_RpcClientFightPlayerStat(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightPlayerStat rpcClientFightPlayerStat) {
        log.info(wzdjPack.toString());
    }

    public static void cmd65536032_RpcClientFightMonsterEliteAppear(Channel channel, WZDJPack wzdjPack
            , RpcClientFightMonsterEliteAppear rpcClientFightMonsterEliteAppear) {
//        log.info(wzdjPack.toString());
        log.info("狩猎出现:" + rpcClientFightMonsterEliteAppear.getElitemonster());
//        WZDJMainFrame.consoleTextArea.append("狩猎出现" + rpcClientFightMonsterEliteAppear.getElitemonster() + "\n");
        if (Stores.getInstance().isAutoHunting()) {
//            log.info("自动狩猎");
            WZDJSender.rpcServerFightMonsterEliteCall();
        }
    }

//    public static void cmd65536033_RpcServerFightMonsterEliteCall(Channel channel, WZDJPack wzdjPack
//            , RpcServerFightMonsterEliteCall rpcServerFightMonsterEliteCall) {
//        log.info(wzdjPack.toString());
//        log.info("狩猎出现");
////        WZDJMainFrame.consoleTextArea.append("狩猎出现" + "\n");
//    }

    public static void cmd65536034_RpcClientFightMonsterEliteCall(Channel channel, WZDJPack wzdjPack
            , RpcClientFightMonsterEliteCall rpcClientFightMonsterEliteCall) {
//        log.info(wzdjPack.toString());
//        log.info("狩猎出怪成功完成");
    }
    public static void cmd65536035_RpcServerFightAccelerate(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightAccelerate rpcServerFightAccelerate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536036_RpcClientFightAccelerate(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightAccelerate rpcClientFightAccelerate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536037_RpcClientFightBuffAdd(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightBuffAdd rpcClientFightBuffAdd) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536038_RpcClientFightBuffRemove(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightBuffRemove rpcClientFightBuffRemove) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536039_RpcClientFightHitDmg(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightHitDmg rpcClientFightHitDmg) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536056_RpcClientFightFighterAttrsShow(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightFighterAttrsShow rpcClientFightFighterAttrsShow) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536057_RpcServerFightNewbiePause(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightNewbiePause rpcServerFightNewbiePause) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536058_RpcClientFightNewbiePause(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightNewbiePause rpcClientFightNewbiePause) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536059_RpcServerFightNewbieResume(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightNewbieResume rpcServerFightNewbieResume) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536060_RpcClientFightNewbieResume(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightNewbieResume rpcClientFightNewbieResume) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536061_RpcServerFightNewbieGuide(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightNewbieGuide rpcServerFightNewbieGuide) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536062_RpcClientFightNewbieGuide(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightNewbieGuide rpcClientFightNewbieGuide) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536063_RpcServerFightLogin(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightLogin rpcServerFightLogin) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536048_RpcClientFightRoomDismiss(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightRoomDismiss rpcClientFightRoomDismiss) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536049_RpcClientFightMissionUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightMissionUpdate rpcClientFightMissionUpdate) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536051_RpcServerFightFighterOperate(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightFighterOperate rpcServerFightFighterOperate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536052_RpcClientFightFighterOperate(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightFighterOperate rpcClientFightFighterOperate) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536053_RpcServerFightFighterAttrs(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightFighterAttrs rpcServerFightFighterAttrs) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536054_RpcClientFightFighterAttrs(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightFighterAttrs rpcClientFightFighterAttrs) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536055_RpcServerFightFighterAttrsShow(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightFighterAttrsShow rpcServerFightFighterAttrsShow) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536008_RpcClientFightFighterCall(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightFighterCall rpcClientFightFighterCall) {
//        log.info(wzdjPack.toString());
        //召唤价格变动
        int callcost = rpcClientFightFighterCall.getCallcost() != null ? rpcClientFightFighterCall.getCallcost() : 20;
        Stores.getInstance().setCallCost(callcost);
        int callCost = Stores.getInstance().getCallCost();
//        log.info("更新召唤消耗:" + callCost);
        WZDJMainFrame.callCostJlabel.setText("召唤需要:" + callCost);
    }
    public static void cmd65536009_RpcServerFightBet(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightBet rpcServerFightBet) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536010_RpcClientFightBetResult(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightBetResult rpcClientFightBetResult) {
//        log.info(wzdjPack.toString());
        //赌博结果
        Integer reason = rpcClientFightBetResult.getReason();//1中2不中
        String betName = reason==1?"中":"不中";
        Integer quality = rpcClientFightBetResult.getQuality();
        String qualityName = Consts.BetQuality.nameById(quality);
        String fighterid = rpcClientFightBetResult.getFighterid();
        String award = fighterid != null ? Consts.Fighter.nameById(fighterid) : "无奖励";
//        System.out.printf("%s,赌博结果:%s%n", qualityName, award);
    }
    public static void cmd65536011_RpcServerFightFighterMove(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightFighterMove rpcServerFightFighterMove) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536012_RpcClientFightFighterMove(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightFighterMove rpcClientFightFighterMove) {
//        log.info(wzdjPack.toString());
        if (rpcClientFightFighterMove.getFromgrid() == null) {
            rpcClientFightFighterMove.setFromgrid(0);
        }
        if (rpcClientFightFighterMove.getTogrid() == null) {
            rpcClientFightFighterMove.setTogrid(0);
        }
        if (Stores.getInstance().getMySide() == rpcClientFightFighterMove.getSide()) {//自己这边的移动
            CopyOnWriteArrayList<FightActorData> fromList = Stores.getInstance().getMyGridMap().getOrDefault(rpcClientFightFighterMove.getFromgrid(), new CopyOnWriteArrayList<>());
            CopyOnWriteArrayList<FightActorData> toList = Stores.getInstance().getMyGridMap().getOrDefault(rpcClientFightFighterMove.getTogrid(), new CopyOnWriteArrayList<>());
            Stores.getInstance().getMyGridMap().put(rpcClientFightFighterMove.getFromgrid(), toList);
            Stores.getInstance().getMyGridMap().put(rpcClientFightFighterMove.getTogrid(), fromList);
//            WZDJMainFrame.playPanel.update(Stores.getInstance().getMyGridMap(), true);//自己移动更新
//            String moveMsg = String.format("我的移动_fromId:%s,toId:%s%n", rpcClientFightFighterMove.getFromgrid(), rpcClientFightFighterMove.getTogrid());
//            System.out.printf(moveMsg);
//            WZDJMainFrame.consoleTextArea.append(moveMsg);
        } else {//对方移动操作
            CopyOnWriteArrayList<FightActorData> fromList = Stores.getInstance().getItGridMap().getOrDefault(rpcClientFightFighterMove.getFromgrid(), new CopyOnWriteArrayList<>());
            CopyOnWriteArrayList<FightActorData> toList = Stores.getInstance().getItGridMap().getOrDefault(rpcClientFightFighterMove.getTogrid(), new CopyOnWriteArrayList<>());
            Stores.getInstance().getItGridMap().put(rpcClientFightFighterMove.getFromgrid(), toList);
            Stores.getInstance().getItGridMap().put(rpcClientFightFighterMove.getTogrid(), fromList);
//            WZDJMainFrame.playPanel.update(Stores.getInstance().getItGridMap(), false);//对方移动更新
//            String moveMsg = String.format("对面移动_fromId:%s,toId:%s%n", rpcClientFightFighterMove.getFromgrid(), rpcClientFightFighterMove.getTogrid());
//            System.out.printf(moveMsg);
//            WZDJMainFrame.consoleTextArea.append(moveMsg);
        }
    }
    public static void cmd65536013_RpcServerFightFighterSynthetic(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightFighterSynthetic rpcServerFightFighterSynthetic) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536014_RpcServerFightFighterSyntheticMythic(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightFighterSyntheticMythic rpcServerFightFighterSyntheticMythic) {
        log.info(wzdjPack.toString());
    }
    //请求
//    public static void cmd65536015_RpcServerFightFighterRemove(Channel channel,WZDJPack wzdjPack
//            ,RpcServerFightFighterRemove rpcServerFightFighterRemove) {
//        log.info(wzdjPack.toString());
//    }
    public static void cmd65536001_RpcClientFightPlayerList(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightPlayerList rpcClientFightPlayerList) {
//        log.info(wzdjPack.toString());
        WZDJService.enterFightClientFightPlayerList(channel, rpcClientFightPlayerList);
    }
    public static void cmd65536002_RpcClientFightSyncSnapshot(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightSyncSnapshot rpcClientFightSyncSnapshot) {
        log.info(wzdjPack.toString());
        SnapshotData snapshot = rpcClientFightSyncSnapshot.getSnapshot();
        WZDJService.snapshot(channel, snapshot);
    }
    public static void cmd65536003_RpcClientFightBegin(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightBegin rpcClientFightBegin) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536004_RpcClientFightEnd(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightEnd rpcClientFightEnd) {
        log.info(wzdjPack.toString());

        WZDJService.onFightEnd(rpcClientFightEnd);
//        //打印本局战斗协议消耗时长
//        WZDJService.printTimeLog();
//        methodTimeMap.clear();
    }
    public static void cmd65536005_RpcClientFightFrameBegin(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightFrameBegin rpcClientFightFrameBegin) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536006_RpcClientFightFrameEnd(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightFrameEnd rpcClientFightFrameEnd) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536007_RpcServerFightFighterCall(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightFighterCall rpcServerFightFighterCall) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536024_RpcServerFightActorsDistance(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightActorsDistance rpcServerFightActorsDistance) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536025_RpcClientFightActorsDistance(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightActorsDistance rpcClientFightActorsDistance) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536026_RpcClientFightWaveBegin(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightWaveBegin rpcClientFightWaveBegin) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536027_RpcClientFightWaveEnd(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightWaveEnd rpcClientFightWaveEnd) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536028_RpcClientFightWaveStage(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightWaveStage rpcClientFightWaveStage) {
//        log.info(wzdjPack.toString());
        WaveData wavedata = rpcClientFightWaveStage.getWavedata();
        Integer time = wavedata.getTime();
        Integer wave = wavedata.getWave();
        if (time != null && wave != null) {
            log.info(wzdjPack.toString());
            WZDJService.startWave(channel, wave, time / 1000);
        }
    }


    public static void cmd65536029_RpcServerFightWaveSelect(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightWaveSelect rpcServerFightWaveSelect) {
//        log.info(wzdjPack.toString());

    }
    public static void cmd65536030_RpcClientFightWaveSelect(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightWaveSelect rpcClientFightWaveSelect) {
//        log.info(wzdjPack.toString());
        if (Stores.getInstance().getMySide() == rpcClientFightWaveSelect.getSide()) {
//            for (WaveSelectData selectData : rpcClientFightWaveSelect.getSelectdata()) {
//                String actorid = selectData.getActorid();
//                String name = Consts.Fighter.nameById(actorid);
//                Integer quality = selectData.getQuality();
//                Integer type = selectData.getType();
//                Integer rate = selectData.getRate();
//                String aInfo = String.format("我的选择:%s(%s)[%s]%s", name, quality, type, rate);
//                log.info(aInfo);
//            }
            //选择中间的
            RpcServerFightWaveSelect rpcServerFightWaveSelect = new RpcServerFightWaveSelect();
            rpcServerFightWaveSelect.setIndex(2);
            PackUtil.send(Stores.getInstance().getFightChannel(), rpcServerFightWaveSelect);
        } else {
//            for (WaveSelectData selectData : rpcClientFightWaveSelect.getSelectdata()) {
//                String actorid = selectData.getActorid();
//                String name = Consts.Fighter.nameById(actorid);
//                String aInfo = String.format("对面选择:%s(%s)[%s]%s", name, selectData.getQuality(), selectData.getType(), selectData.getRate());
//                log.info(aInfo);
//            }
        }
    }
    public static void cmd65536031_RpcClientFightWaveSelectFinish(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightWaveSelectFinish rpcClientFightWaveSelectFinish) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536016_RpcClientFightFighterJoin(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightFighterJoin rpcClientFightFighterJoin) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536017_RpcClientFightFighterGrid(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightFighterGrid rpcClientFightFighterGrid) {
//        log.info(wzdjPack.toString());
    }
    public static void cmd65536018_RpcClientFightActorAttrs(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightActorAttrs rpcClientFightActorAttrs) {
//        log.info(wzdjPack.toString());
    }

    public static void cmd65536019_RpcClientFightSyncResource(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightSyncResource rpcClientFightSyncResource) {
//        log.info(wzdjPack.toString());
        WZDJService.syncResource(channel, rpcClientFightSyncResource);
    }
    public static void cmd65536020_RpcServerFightEnhance(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightEnhance rpcServerFightEnhance) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536021_RpcClientFightEnhance(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightEnhance rpcClientFightEnhance) {
//        log.info(wzdjPack.toString());
        System.out.printf("强化等级_类型:%s,等级:%s%n", rpcClientFightEnhance.getType(), rpcClientFightEnhance.getLv());
        //强化等级
        if (1 == rpcClientFightEnhance.getType()) {
            Stores.getInstance().getEnhance1().set(rpcClientFightEnhance.getLv());
            WZDJMainFrame.enhance1Jlabel.setText("强蓝色lv:" + rpcClientFightEnhance.getLv());
        } else if (2 == rpcClientFightEnhance.getType()) {
            Stores.getInstance().getEnhance2().set(rpcClientFightEnhance.getLv());
            WZDJMainFrame.enhance2Jlabel.setText("强紫色lv:" + rpcClientFightEnhance.getLv());
        } else if (3 == rpcClientFightEnhance.getType()) {
            Stores.getInstance().getEnhance3().set(rpcClientFightEnhance.getLv());
            WZDJMainFrame.enhance3Jlabel.setText("强金橙lv:" + rpcClientFightEnhance.getLv());
        } else if (4 == rpcClientFightEnhance.getType()) {
            Stores.getInstance().getEnhance4().set(rpcClientFightEnhance.getLv());
            WZDJMainFrame.enhance4Jlabel.setText("召概率lv:" + rpcClientFightEnhance.getLv());
        }
    }

    public static void cmd65536022_RpcClientFightNewActors(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightNewActors rpcClientFightNewActors) {
//        log.info(wzdjPack.toString());
        if (rpcClientFightNewActors.getActors().isEmpty()) {
            return;
        }
        WZDJService.newActors(channel,rpcClientFightNewActors.getActors());
    }


    public static void cmd65536023_RpcClientFightRemoveActors(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightRemoveActors rpcClientFightRemoveActors) {
//        log.info(wzdjPack.toString());
        if (rpcClientFightRemoveActors.getRemoveactors().isEmpty()){
            return;
        }
        WZDJService.removeActors(channel, rpcClientFightRemoveActors.getRemoveactors());
    }

    //2024-11-21  新增协议5个协议
    public static void cmd1900561_RpcServerContinuousCharge(Channel channel,WZDJPack wzdjPack
            ,RpcServerContinuousCharge rpcServerContinuousCharge) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900562_RpcClientContinuousCharge(Channel channel,WZDJPack wzdjPack
            ,RpcClientContinuousCharge rpcClientContinuousCharge) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900563_RpcServerContinuousChargeBigReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerContinuousChargeBigReward rpcServerContinuousChargeBigReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441821_RpcServerPeriodRewardGet(Channel channel,WZDJPack wzdjPack
            ,RpcServerPeriodRewardGet rpcServerPeriodRewardGet) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441822_RpcClientPeriodRewardInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientPeriodRewardInfo rpcClientPeriodRewardInfo) {
        log.info(wzdjPack.toString());
        List<PeriodRewardInfo> infos = rpcClientPeriodRewardInfo.getInfos() != null ? rpcClientPeriodRewardInfo.getInfos() : new ArrayList<>();
        for (PeriodRewardInfo periodRewardInfo : infos) {
            Integer battleType = periodRewardInfo.getBattletype() != null ? periodRewardInfo.getBattletype() : 0;
            Integer refreshtime = periodRewardInfo.getRefreshtime() != null ? periodRewardInfo.getRefreshtime() : 0;
            boolean isTime = refreshtime != null && refreshtime > 0;
            String timeStr = isTime ? DateUtils.secondToTimeSimple(refreshtime) : "长期";
            List<PeriodRewardData> rewards = periodRewardInfo.getRewards() != null ? periodRewardInfo.getRewards() : new ArrayList<>();
            int count = 0;
            int maxStage = 0;
            for (PeriodRewardData reward : rewards) {
                Integer stage = reward.getStage() != null ? reward.getStage() : 0;
                int status = reward.getStatus() != null ? reward.getStatus() : 0;
                if (stage >= maxStage) {
                    maxStage = stage;
                }

                String statusName = Consts.PassState.nameById(status);//状态
                if (status == 0) {
                } else if (status == 1) {//可领取
                    count++;
                } else if (status == 2) {
                }
            }
            //有能领的奖励  自动领取奖励
            if (count > 0) {
                WZDJSender.rpcServerPeriodRewardGet(battleType);
            }

            //本期挑战 展示
            String battleTypeName = Consts.BattleType.nameById(battleType);
            String format = String.format("期%s(%s)[%s]%s", battleTypeName, maxStage, count, timeStr);
            if (1 == battleType){
                Stores.getInstance().getPass1Max().set(maxStage);
                WZDJMainFrame.pass1Jlabel.setText(format);
            } else if (2 == battleType){
                Stores.getInstance().getPass2Max().set(maxStage);
                WZDJMainFrame.pass2Jlabel.setText(format);
            } else if (5 == battleType){
                Stores.getInstance().getPass5Max().set(maxStage);
                WZDJMainFrame.pass5Jlabel.setText(format);
            }
        }
    }

    public static void cmd2097184_RpcClientThemeSignFundInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientThemeSignFundInfo rpcClientThemeSignFundInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097185_RpcServerThemeSignFundClaimReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeSignFundClaimReward rpcServerThemeSignFundClaimReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162720_RpcServerHeroGuaranteeLotteryTimesReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroGuaranteeLotteryTimesReward rpcServerHeroGuaranteeLotteryTimesReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097186_RpcServerTreasureHuntInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerTreasureHuntInfo rpcServerTreasureHuntInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097187_RpcClientTreasureHuntInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientTreasureHuntInfo rpcClientTreasureHuntInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097188_RpcServerTreasureHuntChooseReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerTreasureHuntChooseReward rpcServerTreasureHuntChooseReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097189_RpcClientTreasureHuntChooseReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientTreasureHuntChooseReward rpcClientTreasureHuntChooseReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097190_RpcClientTreasureHuntItemsUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientTreasureHuntItemsUpdate rpcClientTreasureHuntItemsUpdate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097191_RpcServerTreasureHuntLottery(Channel channel,WZDJPack wzdjPack
            ,RpcServerTreasureHuntLottery rpcServerTreasureHuntLottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097192_RpcClientTreasureHuntLottery(Channel channel,WZDJPack wzdjPack
            ,RpcClientTreasureHuntLottery rpcClientTreasureHuntLottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097193_RpcServerThemeAccumulateChargeInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeAccumulateChargeInfo rpcServerThemeAccumulateChargeInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441823_RpcClientFightCoopNightmareResult(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightCoopNightmareResult rpcClientFightCoopNightmareResult) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097194_RpcServerThemeAccumulateChargeClaimReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeAccumulateChargeClaimReward rpcServerThemeAccumulateChargeClaimReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097195_RpcClientThemeAccumulateChargeInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientThemeAccumulateChargeInfo rpcClientThemeAccumulateChargeInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097196_RpcServerThemeFunHouseInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeFunHouseInfo rpcServerThemeFunHouseInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097197_RpcClientThemeFunHouseInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientThemeFunHouseInfo rpcClientThemeFunHouseInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097198_RpcServerThemeFunHouseDraw(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeFunHouseDraw rpcServerThemeFunHouseDraw) {
        log.info(wzdjPack.toString());
    }
    public static void cmd851971_RpcServerRedDiamondPayCreateOrder(Channel channel,WZDJPack wzdjPack
            ,RpcServerRedDiamondPayCreateOrder rpcServerRedDiamondPayCreateOrder) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097199_RpcClientThemeFunHouseDraw(Channel channel,WZDJPack wzdjPack
            ,RpcClientThemeFunHouseDraw rpcClientThemeFunHouseDraw) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097200_RpcClientThemeFunHouseItemsUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientThemeFunHouseItemsUpdate rpcClientThemeFunHouseItemsUpdate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097201_RpcServerThemeFunHouseTimesReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeFunHouseTimesReward rpcServerThemeFunHouseTimesReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097202_RpcServerLightLampV2Info(Channel channel,WZDJPack wzdjPack
            ,RpcServerLightLampV2Info rpcServerLightLampV2Info) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097203_RpcClientLightLampV2Info(Channel channel,WZDJPack wzdjPack
            ,RpcClientLightLampV2Info rpcClientLightLampV2Info) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097204_RpcServerLightLampV2Lottery(Channel channel,WZDJPack wzdjPack
            ,RpcServerLightLampV2Lottery rpcServerLightLampV2Lottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097205_RpcClientLightLampV2Lottery(Channel channel,WZDJPack wzdjPack
            ,RpcClientLightLampV2Lottery rpcClientLightLampV2Lottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097206_RpcServerLightLampV2LayerReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerLightLampV2LayerReward rpcServerLightLampV2LayerReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097207_RpcServerLightLampV2RowReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerLightLampV2RowReward rpcServerLightLampV2RowReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097208_RpcServerLightLampV2ColReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerLightLampV2ColReward rpcServerLightLampV2ColReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097209_RpcServerLightLampV2Refresh(Channel channel,WZDJPack wzdjPack
            ,RpcServerLightLampV2Refresh rpcServerLightLampV2Refresh) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097210_RpcClientLightLampV2ItemsUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientLightLampV2ItemsUpdate rpcClientLightLampV2ItemsUpdate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1114123_RpcClientBroadcastShopBuy(Channel channel,WZDJPack wzdjPack
            ,RpcClientBroadcastShopBuy rpcClientBroadcastShopBuy) {
        //log.info(wzdjPack.toString());
        //有信球花钱买商品了。消息广播
    }
    public static void cmd2097211_RpcServerCandyCollectInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerCandyCollectInfo rpcServerCandyCollectInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097212_RpcClientCandyCollectInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyCollectInfo rpcClientCandyCollectInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097213_RpcServerCandyCollectCollectionsReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerCandyCollectCollectionsReward rpcServerCandyCollectCollectionsReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097214_RpcClientCandyCollectCollectionsReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyCollectCollectionsReward rpcClientCandyCollectCollectionsReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097215_RpcServerCandyCollectExchange(Channel channel,WZDJPack wzdjPack
            ,RpcServerCandyCollectExchange rpcServerCandyCollectExchange) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2228226_RpcServerRoyalRoadClaimLevelReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerRoyalRoadClaimLevelReward rpcServerRoyalRoadClaimLevelReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2228227_RpcClientRoyalRoadLevelReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientRoyalRoadLevelReward rpcClientRoyalRoadLevelReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655403_RpcServerUserSettings(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserSettings rpcServerUserSettings) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2228225_RpcServerRoyalRoadMissionComplete(Channel channel,WZDJPack wzdjPack
            ,RpcServerRoyalRoadMissionComplete rpcServerRoyalRoadMissionComplete) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536076_RpcClientFightCardData(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightCardData rpcClientFightCardData) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2228230_RpcClientRoyalRoadTrainStart(Channel channel,WZDJPack wzdjPack
            ,RpcClientRoyalRoadTrainStart rpcClientRoyalRoadTrainStart) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536078_RpcServerFightWaveSelectRefresh(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightWaveSelectRefresh rpcServerFightWaveSelectRefresh) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2228228_RpcClientRoyalRoadInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientRoyalRoadInfo rpcClientRoyalRoadInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655404_RpcClientUserSettings(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserSettings rpcClientUserSettings) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536079_RpcClientFightWaveSelectRefresh(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightWaveSelectRefresh rpcClientFightWaveSelectRefresh) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2228229_RpcServerRoyalRoadTrainStart(Channel channel,WZDJPack wzdjPack
            ,RpcServerRoyalRoadTrainStart rpcServerRoyalRoadTrainStart) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162705_RpcServerBlindBoxInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerBlindBoxInfo rpcServerBlindBoxInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162707_RpcServerBlindBoxLottery(Channel channel,WZDJPack wzdjPack
            ,RpcServerBlindBoxLottery rpcServerBlindBoxLottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162706_RpcClientBlindBoxInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientBlindBoxInfo rpcClientBlindBoxInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441826_RpcClientFightWorldBossResult(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightWorldBossResult rpcClientFightWorldBossResult) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162708_RpcClientBlindBoxLottery(Channel channel,WZDJPack wzdjPack
            ,RpcClientBlindBoxLottery rpcClientBlindBoxLottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162711_RpcServerBlindBoxTimesReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerBlindBoxTimesReward rpcServerBlindBoxTimesReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441824_RpcServerFightEnterSpectate(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightEnterSpectate rpcServerFightEnterSpectate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162710_RpcClientBlindBoxItemsUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientBlindBoxItemsUpdate rpcClientBlindBoxItemsUpdate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441825_RpcClientWorldBossInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientWorldBossInfo rpcClientWorldBossInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536080_RpcClientFightBetData(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightBetData rpcClientFightBetData) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162713_RpcClientHeroActMission(Channel channel,WZDJPack wzdjPack
            ,RpcClientHeroActMission rpcClientHeroActMission) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536081_RpcServerFightGiveUp(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightGiveUp rpcServerFightGiveUp) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162712_RpcServerHeroActMission(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroActMission rpcServerHeroActMission) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536082_RpcServerFightExitSpectate(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightExitSpectate rpcServerFightExitSpectate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162715_RpcClientHeroGuaranteeLotteryInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientHeroGuaranteeLotteryInfo rpcClientHeroGuaranteeLotteryInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536083_RpcClientFightExitSpectate(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightExitSpectate rpcClientFightExitSpectate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162714_RpcServerHeroGuaranteeLotteryInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroGuaranteeLotteryInfo rpcServerHeroGuaranteeLotteryInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536084_RpcClientFightBonds(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightBonds rpcClientFightBonds) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162717_RpcClientHeroGuaranteeLottery(Channel channel,WZDJPack wzdjPack
            ,RpcClientHeroGuaranteeLottery rpcClientHeroGuaranteeLottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536085_RpcServerFightPlayerResources(Channel channel,WZDJPack wzdjPack
            ,RpcServerFightPlayerResources rpcServerFightPlayerResources) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162716_RpcServerHeroGuaranteeLottery(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroGuaranteeLottery rpcServerHeroGuaranteeLottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536086_RpcClientFightPlayerResources(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightPlayerResources rpcClientFightPlayerResources) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162719_RpcClientHeroGuaranteeLotteryItemsUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientHeroGuaranteeLotteryItemsUpdate rpcClientHeroGuaranteeLotteryItemsUpdate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097183_RpcServerThemeSignFundInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerThemeSignFundInfo rpcServerThemeSignFundInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2162718_RpcServerHeroGuaranteeLotteryChooseReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerHeroGuaranteeLotteryChooseReward rpcServerHeroGuaranteeLotteryChooseReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097216_RpcClientCandyCollectExchange(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyCollectExchange rpcClientCandyCollectExchange) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097217_RpcServerCandyCollectAutoExchange(Channel channel,WZDJPack wzdjPack
            ,RpcServerCandyCollectAutoExchange rpcServerCandyCollectAutoExchange) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097218_RpcClientCandyCollectAutoExchange(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyCollectAutoExchange rpcClientCandyCollectAutoExchange) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097219_RpcServerCandyCollectCompoundReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerCandyCollectCompoundReward rpcServerCandyCollectCompoundReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097220_RpcClientCandyCollectCompoundReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyCollectCompoundReward rpcClientCandyCollectCompoundReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097221_RpcServerCandyCollectCompound(Channel channel,WZDJPack wzdjPack
            ,RpcServerCandyCollectCompound rpcServerCandyCollectCompound) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097222_RpcClientCandyCollectCompound(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyCollectCompound rpcClientCandyCollectCompound) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097223_RpcClientCandyCollectCandyItemsUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyCollectCandyItemsUpdate rpcClientCandyCollectCandyItemsUpdate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097224_RpcClientCandyCollectCandyUniversalItemsUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyCollectCandyUniversalItemsUpdate rpcClientCandyCollectCandyUniversalItemsUpdate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097225_RpcServerCandyCollectPublish(Channel channel,WZDJPack wzdjPack
            ,RpcServerCandyCollectPublish rpcServerCandyCollectPublish) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097226_RpcClientCandyCollectPublish(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyCollectPublish rpcClientCandyCollectPublish) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097227_RpcServerCandyCollectChangeFavorite(Channel channel,WZDJPack wzdjPack
            ,RpcServerCandyCollectChangeFavorite rpcServerCandyCollectChangeFavorite) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097228_RpcClientCandyCollectChangeFavorite(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyCollectChangeFavorite rpcClientCandyCollectChangeFavorite) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097229_RpcServerCandyCollectSend(Channel channel,WZDJPack wzdjPack
            ,RpcServerCandyCollectSend rpcServerCandyCollectSend) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097230_RpcClientCandyCollectSend(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyCollectSend rpcClientCandyCollectSend) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097231_RpcServerCandyCollectBoardInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerCandyCollectBoardInfo rpcServerCandyCollectBoardInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097232_RpcClientCandyCollectBoardInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyCollectBoardInfo rpcClientCandyCollectBoardInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097233_RpcClientCandyBoardUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientCandyBoardUpdate rpcClientCandyBoardUpdate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2097234_RpcServerCandyCollectInfoRead(Channel channel,WZDJPack wzdjPack
            ,RpcServerCandyCollectInfoRead rpcServerCandyCollectInfoRead) {
        log.info(wzdjPack.toString());
    }

    public static void cmd65536087_RpcClientFightChatSend(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightChatSend rpcClientFightChatSend) {
        log.info(wzdjPack.toString());
        WZDJService.onFightChatMessage(rpcClientFightChatSend);
    }


    //2025-01-18 添加15个协议

    public static void cmd2359300_RpcServerInviteList(Channel channel,WZDJPack wzdjPack
            ,RpcServerInviteList rpcServerInviteList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2359301_RpcClientInviteList(Channel channel,WZDJPack wzdjPack
            ,RpcClientInviteList rpcClientInviteList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2359302_RpcClientInviteInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientInviteInfo rpcClientInviteInfo) {
        log.info(wzdjPack.toString());
        Stores.getInstance().setMyInviteCode(rpcClientInviteInfo.getCode());
    }
    public static void cmd2359303_RpcServerInviteShare(Channel channel,WZDJPack wzdjPack
            ,RpcServerInviteShare rpcServerInviteShare) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2359298_RpcServerInviteBind(Channel channel,WZDJPack wzdjPack
            ,RpcServerInviteBind rpcServerInviteBind) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2359299_RpcClientInviteBind(Channel channel,WZDJPack wzdjPack
            ,RpcClientInviteBind rpcClientInviteBind) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655405_RpcServerBcLog(Channel channel,WZDJPack wzdjPack
            ,RpcServerBcLog rpcServerBcLog) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900565_RpcServerTwistEggsLottery(Channel channel,WZDJPack wzdjPack
            ,RpcServerTwistEggsLottery rpcServerTwistEggsLottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900564_RpcClientTwistEggsInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientTwistEggsInfo rpcClientTwistEggsInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900567_RpcClientTwistEggsItemsUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientTwistEggsItemsUpdate rpcClientTwistEggsItemsUpdate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900566_RpcClientTwistEggsLottery(Channel channel,WZDJPack wzdjPack
            ,RpcClientTwistEggsLottery rpcClientTwistEggsLottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441827_RpcClientFightTowerClimbResult(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightTowerClimbResult rpcClientFightTowerClimbResult) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441838_RpcServerMiniGameGetReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerMiniGameGetReward rpcServerMiniGameGetReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441839_RpcClientMiniGameInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientMiniGameInfo rpcClientMiniGameInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1441837_RpcServerMiniGamePass(Channel channel,WZDJPack wzdjPack
            ,RpcServerMiniGamePass rpcServerMiniGamePass) {
        log.info(wzdjPack.toString());
    }


    //2025-01-23 添加65个协议
    public static void cmd1900573_RpcClientDmgLotteryInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientDmgLotteryInfo rpcClientDmgLotteryInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900572_RpcServerDmgLotteryInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerDmgLotteryInfo rpcServerDmgLotteryInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900575_RpcClientDmgLotteryAttack(Channel channel,WZDJPack wzdjPack
            ,RpcClientDmgLotteryAttack rpcClientDmgLotteryAttack) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900574_RpcServerDmgLotteryAttack(Channel channel,WZDJPack wzdjPack
            ,RpcServerDmgLotteryAttack rpcServerDmgLotteryAttack) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900569_RpcServerSignInFundRewardGet(Channel channel,WZDJPack wzdjPack
            ,RpcServerSignInFundRewardGet rpcServerSignInFundRewardGet) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900568_RpcClientSignInFundInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientSignInFundInfo rpcClientSignInFundInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900571_RpcClientActInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientActInfo rpcClientActInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900570_RpcServerSignInFundResign(Channel channel,WZDJPack wzdjPack
            ,RpcServerSignInFundResign rpcServerSignInFundResign) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2424837_RpcServerLionDancePlayUploadScore(Channel channel,WZDJPack wzdjPack
            ,RpcServerLionDancePlayUploadScore rpcServerLionDancePlayUploadScore) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2424836_RpcClientLionDancePlayInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientLionDancePlayInfo rpcClientLionDancePlayInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2424838_RpcServerLionDancePlayRewardGet(Channel channel,WZDJPack wzdjPack
            ,RpcServerLionDancePlayRewardGet rpcServerLionDancePlayRewardGet) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900601_RpcClientCardCollectItemExchange(Channel channel,WZDJPack wzdjPack
            ,RpcClientCardCollectItemExchange rpcClientCardCollectItemExchange) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2490370_RpcClientLiveInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientLiveInfo rpcClientLiveInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2424833_RpcClientMazePlayInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientMazePlayInfo rpcClientMazePlayInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655406_RpcClientUserChangeEnterAnimation(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserChangeEnterAnimation rpcClientUserChangeEnterAnimation) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900600_RpcServerCardCollectItemExchange(Channel channel,WZDJPack wzdjPack
            ,RpcServerCardCollectItemExchange rpcServerCardCollectItemExchange) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655407_RpcServerUserEnterAnimationList(Channel channel,WZDJPack wzdjPack
            ,RpcServerUserEnterAnimationList rpcServerUserEnterAnimationList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2424835_RpcServerMazePlayRewardGet(Channel channel,WZDJPack wzdjPack
            ,RpcServerMazePlayRewardGet rpcServerMazePlayRewardGet) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2490369_RpcServerLiveInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerLiveInfo rpcServerLiveInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd2424834_RpcServerMazePlayUploadScore(Channel channel,WZDJPack wzdjPack
            ,RpcServerMazePlayUploadScore rpcServerMazePlayUploadScore) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900597_RpcServerCardCollectLogInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerCardCollectLogInfo rpcServerCardCollectLogInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900596_RpcClientCardCollectBoardInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientCardCollectBoardInfo rpcClientCardCollectBoardInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900599_RpcServerCardCollectInfoRead(Channel channel,WZDJPack wzdjPack
            ,RpcServerCardCollectInfoRead rpcServerCardCollectInfoRead) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900598_RpcClientCardCollectLogInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientCardCollectLogInfo rpcClientCardCollectLogInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900593_RpcServerCardCollectSend(Channel channel,WZDJPack wzdjPack
            ,RpcServerCardCollectSend rpcServerCardCollectSend) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900592_RpcClientCardCollectChangeFavorite(Channel channel,WZDJPack wzdjPack
            ,RpcClientCardCollectChangeFavorite rpcClientCardCollectChangeFavorite) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900595_RpcServerCardCollectBoardInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerCardCollectBoardInfo rpcServerCardCollectBoardInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900594_RpcClientCardCollectSend(Channel channel,WZDJPack wzdjPack
            ,RpcClientCardCollectSend rpcClientCardCollectSend) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536088_RpcClientFightUpdateActorPos(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightUpdateActorPos rpcClientFightUpdateActorPos) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900589_RpcServerCardCollectPublish(Channel channel,WZDJPack wzdjPack
            ,RpcServerCardCollectPublish rpcServerCardCollectPublish) {
        log.info(wzdjPack.toString());
    }
    public static void cmd65536089_RpcClientFightUpdateActorExtraParams(Channel channel,WZDJPack wzdjPack
            ,RpcClientFightUpdateActorExtraParams rpcClientFightUpdateActorExtraParams) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900588_RpcClientCardCollectCardBagUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientCardCollectCardBagUpdate rpcClientCardCollectCardBagUpdate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900591_RpcServerCardCollectChangeFavorite(Channel channel,WZDJPack wzdjPack
            ,RpcServerCardCollectChangeFavorite rpcServerCardCollectChangeFavorite) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900590_RpcClientCardCollectPublish(Channel channel,WZDJPack wzdjPack
            ,RpcClientCardCollectPublish rpcClientCardCollectPublish) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900585_RpcServerCardCollectConsume(Channel channel,WZDJPack wzdjPack
            ,RpcServerCardCollectConsume rpcServerCardCollectConsume) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900584_RpcClientCardCollectLottery(Channel channel,WZDJPack wzdjPack
            ,RpcClientCardCollectLottery rpcClientCardCollectLottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900587_RpcClientCardCollectCardItemsUpdate(Channel channel,WZDJPack wzdjPack
            ,RpcClientCardCollectCardItemsUpdate rpcClientCardCollectCardItemsUpdate) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900586_RpcClientCardCollectConsume(Channel channel,WZDJPack wzdjPack
            ,RpcClientCardCollectConsume rpcClientCardCollectConsume) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900581_RpcServerCardCollectInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerCardCollectInfo rpcServerCardCollectInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655410_RpcServerBcLog(Channel channel,WZDJPack wzdjPack
            ,RpcServerBcLog rpcServerBcLog) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900580_RpcClientDmgLotteryItemExchange(Channel channel,WZDJPack wzdjPack
            ,RpcClientDmgLotteryItemExchange rpcClientDmgLotteryItemExchange) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900583_RpcServerCardCollectLottery(Channel channel,WZDJPack wzdjPack
            ,RpcServerCardCollectLottery rpcServerCardCollectLottery) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655408_RpcClientUserEnterAnimationList(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserEnterAnimationList rpcClientUserEnterAnimationList) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900582_RpcClientCardCollectInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientCardCollectInfo rpcClientCardCollectInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd655409_RpcClientUserEnterAnimationAdd(Channel channel,WZDJPack wzdjPack
            ,RpcClientUserEnterAnimationAdd rpcClientUserEnterAnimationAdd) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900577_RpcClientDmgLotteryReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientDmgLotteryReward rpcClientDmgLotteryReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900576_RpcServerDmgLotteryReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerDmgLotteryReward rpcServerDmgLotteryReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900579_RpcServerDmgLotteryItemExchange(Channel channel,WZDJPack wzdjPack
            ,RpcServerDmgLotteryItemExchange rpcServerDmgLotteryItemExchange) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900578_RpcClientDmgLotteryItemNotice(Channel channel,WZDJPack wzdjPack
            ,RpcClientDmgLotteryItemNotice rpcClientDmgLotteryItemNotice) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900637_RpcServerFestivalLotteryInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerFestivalLotteryInfo rpcServerFestivalLotteryInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900636_RpcClientBigWheelDraw(Channel channel,WZDJPack wzdjPack
            ,RpcClientBigWheelDraw rpcClientBigWheelDraw) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900639_RpcServerFestivalLotteryDraw(Channel channel,WZDJPack wzdjPack
            ,RpcServerFestivalLotteryDraw rpcServerFestivalLotteryDraw) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900638_RpcClientFestivalLotteryInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientFestivalLotteryInfo rpcClientFestivalLotteryInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900633_RpcServerBigWheelInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerBigWheelInfo rpcServerBigWheelInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900632_RpcClientTreasureExchangeReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientTreasureExchangeReward rpcClientTreasureExchangeReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900635_RpcServerBigWheelDraw(Channel channel,WZDJPack wzdjPack
            ,RpcServerBigWheelDraw rpcServerBigWheelDraw) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900634_RpcClientBigWheelInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientBigWheelInfo rpcClientBigWheelInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900629_RpcServerTreasureAccumulateBuyGiftReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerTreasureAccumulateBuyGiftReward rpcServerTreasureAccumulateBuyGiftReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900628_RpcClientTreasureInfo(Channel channel,WZDJPack wzdjPack
            ,RpcClientTreasureInfo rpcClientTreasureInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900631_RpcServerTreasureExchangeReward(Channel channel,WZDJPack wzdjPack
            ,RpcServerTreasureExchangeReward rpcServerTreasureExchangeReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900630_RpcClientTreasureAccumulateBuyGiftReward(Channel channel,WZDJPack wzdjPack
            ,RpcClientTreasureAccumulateBuyGiftReward rpcClientTreasureAccumulateBuyGiftReward) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900627_RpcServerTreasureInfo(Channel channel,WZDJPack wzdjPack
            ,RpcServerTreasureInfo rpcServerTreasureInfo) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900641_RpcClientFestivalLotteryNoticeAll(Channel channel,WZDJPack wzdjPack
            ,RpcClientFestivalLotteryNoticeAll rpcClientFestivalLotteryNoticeAll) {
        //log.info(wzdjPack.toString());//彩票中奖公告
    }
    public static void cmd1900640_RpcClientFestivalLotteryDraw(Channel channel,WZDJPack wzdjPack
            ,RpcClientFestivalLotteryDraw rpcClientFestivalLotteryDraw) {
        log.info(wzdjPack.toString());
    }
    public static void cmd1900642_RpcClientFestivalLotteryNoticeAdd(Channel channel,WZDJPack wzdjPack
            ,RpcClientFestivalLotteryNoticeAdd rpcClientFestivalLotteryNoticeAdd) {
//        log.info(wzdjPack.toString());//彩票中奖公告 新增用户
    }

}

